Linux uzerinde Colemak klavye duzeni nasil yapilandirilir
Linux konsol, X11 ve Wayland katmanlarinda Colemak kurulumunu adim adim ogrenin. Vim hjkl tuslari ve SSH baglantilarinda klavye duzeni degisiminin etkilerini inceleyin.
Linux üzerinde Colemak düzeninin konumu
Linux üzerinde Colemak, sistem genelinde geçerli tek bir ayar değildir. Klavye düzeni, o an klavyeyi okuyan katman tarafından uygulanır; bu nedenle üç farklı noktadan birinde yer alır: metin konsolu, X11 sunucusu veya Wayland compositor. Yanlış katmanda ayar yapılması durumunda hiçbir değişiklik gerçekleşmez.
Dördüncü bir seçenek ise işletim sistemini tamamen devre dışı bırakır. QMK veya VIA gibi kendi donanım yazılımı (firmware) üzerinden yeniden eşleme yapabilen bir klavye, istediğiniz harflerin kodlarını doğrudan gönderir. Bu sayede klavyeyi bağladığınız her makine, sunucu konsolu veya sahibi olmadığınız bir bilgisayar dahil olmak üzere, hiçbir yapılandırma gerektirmeden Colemak düzeninde yazar. Bunun dezavantajı, dizüstü bilgisayarınızın kendi klavyesinin QWERTY düzeninde kalmaya devam etmesidir.
Bu kılavuzun geri kalanı, üç yazılım katmanını, uzak bir sunucunun neden bu katmanların hiçbirine neredeyse hiç ihtiyaç duymadığını ve bu değişikliğin Vim ile terminal kısayollarını nasıl etkilediğini ele almaktadır.
Sisteminizde halihazırda nelerin bulunduğunu kontrol edin
Herhangi bir değişiklik yapmadan önce bu komutları çalıştırın. Bu komutlar, mevcut ayarı ve X klavye veritabanınızın sunduğu Colemak varyantlarının listesini yazdırır.
localectl status
setxkbmap -query
localectl list-x11-keymap-variants us | grep colemakSon komut colemak ve colemak_dh çıktısını vermelidir. Colemak, yıllardır xkeyboard-config içerisinde yer almaktadır. Colemak-DH ise 2.34 sürümüyle eklenmiştir, dolayısıyla sadece çok eski bir sürümde eksik olabilir. Ağustos 2026 itibarıyla Ubuntu 24.04 ve Debian 13, bu sürümden daha güncel bir sürümle gelmektedir.
Eğer setxkbmap -query bir ekran açamadığını bildirirse, bir Wayland oturumundasınız demektir ve düzeni compositor yönetiyordur. Bu durumun kendine ait bölümü aşağıdadır.
Colemak veya Colemak-DH
Colemak, QWERTY düzenindeki on yedi tuşun yerini değiştirir ve Z, X, C ve V dahil olmak üzere on tuşu olduğu gibi bırakır; böylece geri al, kes, kopyala ve yapıştır kısayolları sol elinizin alışık olduğu yerlerde kalır. Düzenin bu şekilde görünmesinin temel nedeni bu uyumluluktur.
Colemak-DH, Colemak'ın bir modifikasyonudur. D, B ve G tuşlarının yerini değiştirir ve H ile M tuşlarını takas eder; çünkü standart Colemak düzeninde hem D hem de H tuşlarına basmak için işaret parmağını klavyenin orta sütununa doğru uzatmak gerekir. Resmi mod, her harfi Colemak'ta kullanılan aynı parmakta tutar; bu nedenle Colemak kullanan bir kişi DH düzenine geçtiğinde yeni bir düzen öğrenmek yerine küçük bir değişiklikle karşılaşır. XKB varyantı colemak_dh olup, sol shift tuşunun yanında fazladan tuş bulunan klavyeler için colemak_dh_iso kullanılır.
QWERTY düzeninden geçiş yaparken her ikisi de tek seferlik bir yeniden öğrenme süreci gerektirir, bu yüzden konforunuza göre birini seçin ve orada kalın. Düzeni ikinci kez değiştirmek, ilkiyle hemen hemen aynı maliyete sahiptir; çünkü yeniden inşa ettiğiniz şey, tuş konumlarına bağlı kas hafızasıdır. Eğer hala QWERTY düzenini bırakıp bırakmama konusunda kararsızsanız, kas hafızanızı yeniden inşa etmek için bir ay harcamadan önce Colemak, Dvorak ve QWERTY karşılaştırması konusuna göz atarak kararınızı verin.
setxkbmap ve localectl ile X11 üzerinde Colemak düzenini ayarlama
setxkbmap us -variant colemak
setxkbmap -querysetxkbmap -query komutu artık variant: colemak çıktısını vermeli ve herhangi bir pencerede yazılan karakterler Colemak düzenine uygun olmalıdır. Bu değişiklik yalnızca mevcut X oturumu süresince geçerli kalır ve diske herhangi bir yazma işlemi yapmaz; bu da klavye düzenini geçici olarak denemek için en güvenli yöntemdir.
Değişikliği yeniden başlatmalar sonrasında da kalıcı kılmak için:
sudo localectl set-x11-keymap us pc105 colemak
localectl statusArgüman sırası; düzen, model ve varyant şeklindedir. localectl status komutu artık X11 Layout: us ve X11 Variant: colemak değerlerini göstermelidir. localectl, siz --no-convert parametresini eklemediğiniz sürece bu seçimi konsol klavye düzenine de uyarlar; bu nedenle birçok sistemde bu tek komut tty ayarlarını da kapsar. Debian ve Ubuntu üzerinde işlem sonrasında /etc/default/keyboard dosyasını kontrol edin, çünkü sistem açılışında console-setup tarafından okunan dosya budur.
Wayland üzerinde Colemak ayarı
Wayland oturumunda yapılandırılacak bir X sunucusu bulunmaz. Klavye düzeni, compositor tarafından yüklenip her uygulamaya iletildiği için bu ayar doğrudan compositor üzerinden yapılır. setxkbmap komutunun burada çalışmamasının nedeni budur; ya bir ekran bulamadığı için başarısız olur ya da yalnızca XWayland üzerinde değişiklik yapar, bu durumda yerel Wayland uygulamaları ayarı görmezden gelir.
GNOME üzerinde bu ayar bir gsettings anahtarıdır:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+colemak')]"Bu ayar, oturumu kapatmaya gerek kalmadan anında uygulanır. us+colemak dizgisi, düzen ve varyantın artı işaretiyle birleştirilmiş halidir.
sway üzerinde, ayarı ~/.config/sway/config dosyasına ekleyin:
input type:keyboard {
xkb_layout us
xkb_variant colemak_dh
}swaymsg reload ile yeniden yükleyin. swaymsg -t get_inputs komutu, her giriş cihazını ve kullandığı düzeni listeler; yalnızca tek bir klavyede sorun yaşandığında bu komut ile kontrol sağlanmalıdır.
KDE Plasma üzerinde, Sistem Ayarları (System Settings) menüsüne gidin, Klavye (Keyboard) ve ardından Düzenler (Layouts) kısmını açın; buradan Colemak varyantı ile English (US) düzenini ekleyin.
Metin konsolunda Colemak düzenini ayarlama
Konsol, Ctrl+Alt+F3 ile erişilen düz metin tty'dir ve kendine ait bir tuş haritası kullanır. X11 veya bir compositor üzerinde yaptığınız hiçbir ayar buraya etki etmez; bu durum çıplak bir sanal konsol üzerinde terminal çalışma alanı kullanıyorsanız önemlidir.
Debian ve Ubuntu üzerinde /etc/default/keyboard dosyasını düzenleyin:
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT="colemak"
XKBOPTIONS=""Ardından ayarı uygulayın:
sudo setupconOnaylamak için konsolda yazı yazın. console-setup, bu XKB açıklamasını ckbcomp ile bir konsol tuş haritasına dönüştürür; böylece bu sistemlerde konsol ve X aynı açıklamayı paylaşır.
Doğrudan kbd tuş haritalarını kullanan dağıtımlarda, önce harita adını sorgulayın:
localectl list-keymaps | grep -i -e colemak -e latin9
sudo localectl set-keymap en-latin9kbd paketi, Colemak konsol haritasını i386/colemak/en-latin9 olarak sunar; bu nedenle girmeniz gereken ad genellikle colemak değil, en-latin9 şeklindedir. Listede görünen bir ad girin; mevcut olmayan bir ad reddedilecektir.
sudo loadkeys en-latin9 mevcut konsolu anında değiştirir, sudo loadkeys us ise eski haline getirir. loadkeys komutunu bir yapılandırmadan ziyade bir test olarak değerlendirin: bu ayar yeniden başlatmaya kadar geçerlidir ve Debian ile Ubuntu üzerinde önyükleme sırasında çalışan setupcon, /etc/default/keyboard dosyasında ne yazıyorsa onu geri yükler.
Başsız bir VPS'in Colemak düzenine ihtiyacı var mı?
Neredeyse hiçbir zaman; bunun nedenini anlamak önemlidir. SSH, tuş konumlarını değil karakterleri taşır. Terminal emülatörünüz tuş basışını alır, yerel klavye düzeniniz bunu bir karaktere dönüştürür ve bağlantı üzerinden yalnızca bu karakter iletilir. Sunucu, n karakterini alır ancak hangi fiziksel tuşun bunu ürettiğini bilmesinin bir yolu yoktur. Dolayısıyla dizüstü bilgisayarınızda ayarladığınız klavye düzeni, her SSH oturumuna, tmux içine ve uzaktan çalıştırdığınız her düzenleyiciye sizinle birlikte gelir; uzak makinenin herhangi bir klavye yapılandırmasına ihtiyacı yoktur.
Üretim ortamındaki sunucularda klavye dosyalarını düzenlemeye başlamadan önce bunu aklınızda bulundurun. Eğer bir Linux sunucu filosunu yönetiyorsanız, klavye düzeni filoya değil, önünüzdeki makineye aittir; bu nedenle sağlama (provisioning) sürecinizde yeri yoktur. Yeni bir VPS'teki ilk on dakika, bu işlemden daha faydalı işler barındırır.
Planlanması gereken iki istisna mevcuttur. Birincisi, doğrudan makineye bağlı olan konsoldur. Bir sağlayıcı panelindeki tarayıcı konsolu, genellikle sanal makineye bir klavye gibi görünür; bu nedenle tuş basışları tarama kodları (scancodes) olarak ulaşır ve sunucunun kendi konsol tuş haritası hangi karakterin görüntüleneceğine karar verir. Sunucuda ayarlanan bir düzenin etkili olduğu tek yer burasıdır; aynı zamanda SSH çalışmayı durdurduğunda kurtarma yolunuzdur, bu yüzden orada yarım bırakılmış bir konsol tuş haritası gerçek bir risktir.
Seri konsol farklı davranır çünkü karakterleri taşır ve yerel düzeniniz geçerli olur. İkinci istisna ise paylaşımlı bir makinedir. Konsol tuş haritası sistem genelindedir; bu nedenle başkalarının da giriş yaptığı bir sunucuda Colemak ayarlamak, düzeni onlar için de değiştirir ve nedenini tahmin edemezler.
Vim'in hjkl tuşlarına ne olur
Colemak düzeninde h hareket etmez. Diğer üçü çalışır. j, QWERTY düzenindeki Y tuşunun, k, QWERTY düzenindeki N tuşunun ve l, QWERTY düzenindeki U tuşunun altında yer alır; bu nedenle imleç tuşları dört parmağın altında durmak yerine üç farklı satıra yayılır.
İki uygulanabilir çözüm yolu vardır ve her ikisinin de gerçek kullanıcıları mevcuttur.
Varsayılan ayarları koruyun ve konumları yeniden öğrenin. Kurulumunuzdaki hiçbir şey bozulmaz, her eklenti çalışmaya devam eder ve başka biri tarafından yazılmış her Vim ipucu, tam olarak yazıldığı şekliyle sizin için geçerli olur.
Veya sağ elinizin altında, hjkl tuşlarının eskiden bulunduğu yerde duran dört tuşu yeniden eşleyin. Colemak düzeninde bu tuşlar h, n, e ve i karakterlerini verir. Colemak-DH düzeninde aynı dört fiziksel tuş m, n, e ve i karakterlerini verir, çünkü DH düzeni H ile M tuşlarının yerini değiştirmiştir.
noremap n j
noremap e k
noremap i l
noremap l i
noremap k nn artık aşağı, e yukarı, i sağa hareket ettirir ve h zaten sola hareket ediyordu. Son iki satır, yerini değiştirdiğiniz komutları geri kazandırır: l ekleme (insert) modunu başlatır ve k son aramayı tekrarlar. Büyük harfler için de aynı işlemi uygulayın, aksi takdirde Shift tuşu ile bir imleç tuşuna basmak sizi şaşırtabilir.
Vim'in langmap seçeneği, daha az satırla benzer bir işi yapar:
set langmap=nj,ek,il,li,knHer çift, yazdığınız karakter ve ardından Vim'in üzerinde işlem yapması gereken karakter şeklinde okunur. Bu ayar yalnızca normal mod için geçerlidir, bu nedenle ekleme modu Colemak metnini normal şekilde yazmaya devam eder. İki sınırlama Vim'in kendi yardım dokümanlarında belirtilmiştir: langmap, Ctrl veya Alt kombinasyonları için geçerli değildir ve varsayılan tuşlara göre yazılmış eklenti eşlemeleri bu ayar altında beklenmedik şekilde davranabilir.
Hangisini seçerseniz seçin, bir kez seçin. Bir ay sonra vazgeçeceğiniz bir yeniden eşleme size bir ay daha kaybettirir.
Terminal kısayollarına ne olur
Terminal kontrol kodları fiziksel tuştan değil karakterden gelir, bu nedenle her Ctrl kısayolu klavye düzeniyle birlikte taşınır. Ctrl+C, Ctrl+Z, Ctrl+X ve Ctrl+V tuşları konumlarını korur; çünkü Colemak, Z, X, C ve V tuşlarını QWERTY düzenindeki yerlerinde bırakır.
Her gün kullandığınız dört kısayolun yeri değişir. Girdi sonlandırma komutu olan Ctrl+D, artık QWERTY düzeninde G tuşunun olduğu yerdedir. Geçmiş arama komutu Ctrl+R, QWERTY düzeninde S tuşunun olduğu yerdedir. Satır sonuna gitme komutu Ctrl+E, QWERTY düzeninde K tuşunun olduğu yerdedir. Satırı temizleme komutu Ctrl+U ise QWERTY düzeninde I tuşunun olduğu yerdedir.
tmux varsayılan önekini (prefix) korur, çünkü B tuşu Colemak düzeninde yer değiştirmez. Colemak-DH düzeninde B tuşu üst sıraya taşınır ve önek de onunla birlikte gider; bir VPS üzerinde uzun süreli bir tmux oturumu tutuyorsanız fark edeceğiniz ilk şey bu olacaktır. Öneki istediğiniz bir tuşa yeniden atamak tek satırlık bir değişikliktir ve aynı refleksi iki kez yeniden eğitmekten daha kolaydır.
Masaüstü kısayolları da aynı kuralı izler. Super+E üzerindeki bir atama, karakter tarafından tanımlandığı için klavye düzeniyle birlikte taşınır. Super+F1 üzerindeki bir atama ise sabit kalır, çünkü fonksiyon tuşları klavye düzeni tarafından yeniden eşlenmez.
Geçişin size maliyeti nedir
Kimse el alışkanlığı için kesin bir süre veremez. On parmak yazma, motor hafızasıyla ilgilidir. Harflerin yerini öğrenmiyor, bir kelimeyi parmak hareketlerine dönüştüren refleksi yeniden inşa ediyorsunuz; bu yüzden tek faydalı girdi, yazarak geçirilen zamandır.
İnsanların bildirdiği ve kontrollü bir ölçümden ziyade kişisel pratik kayıtlarına dayanan veriler, ilk haftada eski hızın yarısının çok altında kalındığını, günlük kullanımla eski hıza ise bir ila üç ay arasında dönüldüğünü göstermektedir. Bireyler arasındaki fark oldukça geniştir, bu yüzden bu rakamları bir takvimden ziyade genel bir eğilim olarak değerlendirin.
İki alışkanlık süreci yavaşlatır. Gün içinde QWERTY ve Colemak arasında geçiş yapmak her iki refleksi de zayıflatır; bu nedenle geçişi tamamlayan çoğu kişi ana bilgisayarında tamamen yeni düzene geçer. Yoğun bir haftada başlamak, zaman baskısı altında kötü yazmanıza neden olur ve bu da sizi tuşlara bakmaya iter.
Geri dönüş yolunu ihtiyaç duymadan önce hazırlayın; çünkü QWERTY düzenine tekrar ihtiyaç duyacağınız an, bir şeylerin bozulduğu ve birinin sizden yanıt beklediği andır.
QWERTY düzenine hızlıca geri dönme
X11 ortamında setxkbmap us komutu QWERTY düzenini anında geri yükler. Konsolda ise sudo loadkeys us aynı işlemi gerçekleştirir. Kalıcı ayarı geri almak için sudo localectl set-x11-keymap us komutunu çalıştırın.
Henüz yazamadığınız bir klavye düzeninde komut yazmak zorunda kalmamak için bir geçiş anahtarı kullanmak daha pratiktir:
setxkbmap -layout us,us -variant colemak, -option grp:win_space_toggleBu komut, Colemak düzenini birinci, standart US düzenini ise ikinci klavye düzeni olarak yükler; Super+Space tuş kombinasyonu ise bu ikisi arasında geçiş yapmanızı sağlar. colemak, içindeki sondaki virgül bir yazım hatası değildir: bu, ilk düzene colemak varyantını atarken ikinci düzene hiçbir varyant atamamayı sağlar. GNOME üzerinde, her iki giriş kaynağını Ayarlar menüsünden ekleyin; Super+Space tuşları burada zaten geçiş yapacaktır.
İki parola istemi masaüstü oturumunuzun dışında çalışır ve ayrı bir dikkat gerektirir. Giriş ekranı (greeter), oturum ayarlarınız uygulanmadan önce başladığı için, ayara güvenmek yerine oturumu kapatarak test edin. Disk şifreliyse, parola istemi kendi klavye haritası kopyasını barındıran initramfs üzerinden çalışır. Debian ve Ubuntu üzerinde, /etc/default/keyboard dosyasını değiştirdikten sonra sudo update-initramfs -u komutuyla initramfs dosyasını yeniden oluşturun ve makineye erişiminiz varken test etmek için bir kez yeniden başlatın.
Tek bir programı QWERTY düzeninde tutabilir miyim?
Klavye düzeni, uygulama tuş vuruşunu görmeden önce uygulanır. X sunucusu veya compositor, bir tarama kodunu (scancode) karaktere dönüştürür ve uygulamaya bu karakteri iletir; bu nedenle bir uygulama farklı bir düzen talep edemez. Uygulama yalnızca kendisine gelen veriyi yeniden eşleyebilir. Vim düzeltmesinin Vim yapılandırmasında yer almasının ve pencere bazlı genel bir düzen değiştirme anahtarının bulunmamasının nedeni budur.
İki yaklaşım işe yarar. Birincisi cihaz bazlı yöntemdir. Eğer QWERTY yazımı ayrı bir klavye üzerinden yapılıyorsa, düzeni sistem genelinde değil, sadece o cihaz üzerinde ayarlayın:
xinput list
setxkbmap -device 12 -layout usxinput list komutundan kimlik numarasını (id) alın ve her klavyede sırayla yazarak doğrulayın. sway, swaymsg -t get_inputs içindeki giriş tanımlayıcıları için aynı ayarları kabul eder ve daha spesifik bir seçici, type:keyboard üzerindeki ayarı geçersiz kılar.
İkinci yaklaşım, Vim'in langmap ayarında olduğu gibi yeniden eşlemeyi uygulama içinde yapmaktır. Oyunların neredeyse tamamında bir tuş atama ekranı bulunur ve hareket tuşlarını orada yeniden atamak, düzenle dışarıdan uğraşmaktan daha kısa sürer. Her ikisine de sahip olmayan durumlar için, yukarıdaki düzen değiştirme tuşunu atayın ve uygulamayı başlatmadan önce bu tuşa basın.
FAQ
VPS üzerinde Colemak ayarlamam gerekir mi?
Hayır, eğer sunucuya SSH üzerinden erişiyorsanız. SSH karakterleri iletir; bu nedenle klavye düzeniniz, herhangi bir veri gönderilmeden önce dizüstü bilgisayarınızda çözümlenir ve sunucu, QWERTY kullanan birinden gelecek olan baytların aynısını alır. İstisna durum, sağlayıcınızın panelindeki tarayıcı konsoludur; bu konsol sanal makineye doğrudan bir klavye gibi bağlanır ve sunucunun kendi konsol klavye haritasını kullanır. Söz konusu konsol, SSH başarısız olduğunda kurtarma yolunuzdur; bu yüzden değişikliği yalnızca emin olduğunuzda yapın ve SSH hala çalışırken test edin.
Colemak mı yoksa Colemak-DH mi öğrenmeliyim?
Her ikisi de QWERTY'den geçişte aynı miktarda yeniden öğrenme gerektirir, bu yüzden seçim yaparken geçiş maliyetinden ziyade konforu esas alın. Colemak-DH; D, B ve G tuşlarının yerini değiştirir ve H ile M tuşlarını takas eder. Bunun nedeni, standart Colemak düzeninde D ve H tuşlarına basmak için işaret parmağının orta sütuna doğru esnetilmesinin gerekmesidir. XKB varyant isimleri colemak ve colemak_dh şeklindedir; sol shift tuşunun yanında fazladan tuş bulunan klavyeler için ise colemak_dh_iso kullanılır. Sisteminizin hangilerini sunduğunu görmek için localectl list-x11-keymap-variants us | grep colemak komutunu çalıştırın.
Colemak üzerinde Vim'in hjkl tuşlarına ne olur?
h olduğu yerde kalır. j, QWERTY düzenindeki Y tuşunun altına; k, QWERTY düzenindeki N tuşunun altına ve l, QWERTY düzenindeki U tuşunun altına taşınır; böylece imleç tuşları üç satıra yayılmış olur. Bu tuşları yeni yerlerinde yeniden öğrenebilirsiniz; bu yöntem tüm eklentilerin ve eğitimlerin geçerli kalmasını sağlar. Alternatif olarak, sağ elinizin altındaki dört tuşu yeniden eşleyebilirsiniz: Colemak üzerinde h, n, e ve i; Colemak-DH üzerinde ise m, n, e ve i tuşları. Vim'in langmap seçeneği normal mod için aynı işi yapar, ancak bu seçenek Ctrl kombinasyonlarına uygulanmaz ve eklenti eşlemelerinde kafa karışıklığına yol açabilir.
Eski yazma hızıma ulaşmam ne kadar sürer?
Günlerden ziyade haftalar süreceğini varsayın; çünkü bu bir kas hafızası sürecidir ve tek girdi pratiktir. Kullanıcıların kendi bildirdikleri pratik kayıtları, genellikle ilk haftada eski hızın yarısının çok altında kalındığını ve günlük kullanımla bir ila üç ay arasında eski hıza geri dönüldüğünü göstermektedir. Her gün QWERTY ve Colemak arasında geçiş yapmak süreci uzatır, çünkü hiçbir refleks tam olarak yerleşemez.
Masaüstümde setxkbmap neden hiçbir işe yaramadı?
Bunun neredeyse kesin nedeni oturumun Wayland olmasıdır. Wayland altında klavye haritasını compositor yönetir ve her uygulamaya iletir; bu nedenle setxkbmap ya bir ekran bulamaz ya da yalnızca XWayland üzerinde değişiklik yapar, yerel uygulamalar ise bunu görmezden gelir. Düzeni bunun yerine compositor üzerinden ayarlayın: GNOME üzerinde org.gnome.desktop.input-sources gsettings anahtarı, sway yapılandırmasında xkb_variant veya KDE Plasma Sistem Ayarları'ndaki Düzenler (Layouts) sayfası kullanılmalıdır.