Linux uzerinde Colemak klavye duzeni nasil yapilandirilir
Linux sistemlerde Colemak duzenini konsol, X11 ve Wayland katmanlarinda aktif etme yontemlerini ogrenin. Vim hjkl tuslari ve SSH baglantilarinda yasanan sorunlari cozumleyin.
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ı yerden birinde tanımlanır: metin konsolu, X11 sunucusu veya Wayland compositor. Yanlış katmanda ayar yapıldığında 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 firmware'i üzerinde yeniden eşleme yapabilen klavyeler, istediğiniz harflerin kodlarını doğrudan gönderir. Bu sayede klavyeyi bağladığınız her makinede, sunucu konsolu veya sahibi olmadığınız bir bilgisayar dahil olmak üzere, hiçbir yapılandırma gerekmeden Colemak düzeniyle yazabilirsiniz. Bunun dezavantajı, dizüstü bilgisayarınızın kendi klavyesinin QWERTY düzeninde kalmaya devam etmesidir.
Bu kılavuzun geri kalanı, bu üç yazılım katmanını, uzak bir sunucunun neden neredeyse hiçbirine ihtiyaç duymadığını ve bu değişikliğin Vim ile terminal kısayollarını nasıl etkilediğini açıklamaktadı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 değerlerini yazdırmalıdır. Colemak, yıllardır xkeyboard-config içerisinde yer almaktadır. Colemak-DH ise 2.34 sürümüyle eklenmiştir, bu nedenle yalnızca çok eski bir sürümde eksik olabilir. Ağustos 2026 itibarıyla, hem Ubuntu 24.04 hem de Debian 13, bu sürümden daha güncel bir sürümle gelmektedir.
Eğer setxkbmap -query bir ekran açamadığını bildiriyorsa, bir Wayland oturumundasınız demektir ve düzeni (layout) compositor yönetiyordur. Bu durumun çözümü aşağıdaki ilgili bölümde yer almaktadı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; bu sayede geri al, kes, kopyala ve yapıştır kısayolları sol elinizin alıştığı yerlerde kalır. Düzenin bu şekilde tasarlanmasının temel nedeni, söz konusu uyumluluktur.
Colemak-DH, Colemak düzeninin 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 düzenindeki aynı parmakla yazılacak şekilde korur; bu nedenle Colemak kullanan bir kişi DH düzenine geçtiğinde yeni bir düzen öğrenmek yerine küçük bir değişikliğe uyum sağlar. 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 iki seçenek 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.
setxkbmap ve localectl ile X11 üzerinde Colemak ayarı
setxkbmap us -variant colemak
setxkbmap -querysetxkbmap -query artık variant: colemak değerini döndürmelidir ve herhangi bir pencerede yazılan karakterler Colemak düzenine göre çıkmalıdır. Bu değişiklik X oturumu süresince geçerli kalır ve diske herhangi bir yazma işlemi yapmaz; bu da klavye düzenini bir süreliğine denemek için güvenli bir 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 artık X11 Layout: us ve X11 Variant: colemak değerlerini göstermelidir. --no-convert eklemediğiniz sürece localectl, yaptığınız seçimi konsol için en yakın klavye düzenine dönüştürür; bu nedenle birçok sistemde bu tek komut tty üzerinde de geçerli olur. Debian ve Ubuntu sistemlerinde 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üzenini compositor yükler ve her uygulamaya iletir; bu nedenle düzen, bir compositor ayarıdır. setxkbmap komutunun burada çalışmamasının nedeni budur: Komut ya bir ekran bulamaz ya da yalnızca XWayland üzerinde değişiklik yapar; yerel Wayland uygulamaları ise bu değişikliği dikkate almaz.
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 dizisi, 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 komutla kontrol sağlanmalıdır.
KDE Plasma üzerinde Sistem Ayarları'nı açın, ardından Klavye ve Düzenler yolunu izleyerek Colemak varyantı ile English (US) düzenini ekleyin.
Metin konsolunda Colemak düzenini ayarlama
Konsol, Ctrl+Alt+F3 ile eriştiğiniz düz metin tty arayüzüdür 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, çünkü mevcut olmayan bir ad reddedilir.
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: etkisi yeniden başlatmaya kadar sürer ve Debian ile Ubuntu üzerinde açılışta çalışan setupcon, /etc/default/keyboard dosyasında ne yazıyorsa onu geri yükler.
Headless bir VPS'in Colemak düzenine ihtiyacı var mıdır?
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 verisini alır ancak hangi fiziksel tuşun bu karakteri ü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ı olmaz.
Ü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üreçlerinizde 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ı (scancode) olarak ulaşır ve sunucunun kendi konsol tuş haritası hangi karakterin görüntüleneceğine karar verir. Sunucuda ayarlanan bir klavye düzeninin etkili olduğu tek yer burasıdır ve SSH çalışmayı durdurduğunda kurtarma yolunuz da budur; bu yüzden orada yarım bırakılmış bir konsol tuş haritası gerçek bir risk oluşturur.
Seri konsol ise farklı davranır; çünkü karakterleri taşır ve yerel klavye 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 bunun nedenini tahmin edemeyebilirler.
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 dağılmış olur.
Uygulanabilir iki çö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şkaları tarafından yazılmış her Vim ipucu, tam olarak yazıldığı şekliyle sizin için geçerli olur.
Veya hjkl tuşlarının eskiden bulunduğu sağ elinizin altındaki dört tuşu yeniden eşleyin. Colemak düzeninde bu tuşlar h, n, e ve i harflerini verir. Colemak-DH düzeninde ise aynı dört fiziksel tuş m, n, e ve i harflerini 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; h ise zaten sola hareket ediyordu. Son iki satır, yerini değiştirdiğiniz komutları geri kazandırır: l 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 karakteri ve ardından Vim'in üzerinde işlem yapması gereken karakteri temsil eder. Bu ayar yalnızca normal mod için geçerlidir, bu nedenle insert modu Colemak metnini normal şekilde yazmaya devam eder. Vim'in kendi yardım dokümanlarında iki sınırlama 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 karar verin. Bir ay sonra vazgeçeceğiniz bir yeniden eşleme, size bir ay daha kaybettirir.
Terminal kısayollarına ne olur
Terminal kontrol kodu 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ı, Colemak düzeni Z, X, C ve V tuşlarını QWERTY düzenindeki yerlerinde bıraktığı için konumlarını korur.
Her gün kullandığınız dört kısayol ise yer değiştirir. 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 satıra taşınır ve önek de onunla birlikte gider; bu, bir VPS üzerinde uzun süreli çalışan tmux oturumu tutuyorsanız fark edeceğiniz ilk şey 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 fonksiyon tuşları klavye düzeni tarafından yeniden eşlenmediği için yerinde kalır.
Geçişin size maliyeti ne kadar sürer
Kimse elleriniz için kesin bir süre veremez. On parmak klavye kullanımı motor hafızasıdır. Harflerin yerini öğrenmiyorsunuz; bir kelimeyi parmak dizisine dönüştüren refleksi yeniden inşa ediyorsunuz, bu yüzden yardımcı olan tek girdi klavye başında harcanan zamandır.
İnsanların bildirdiği —ki bunlar kontrollü ölçümlerden ziyade kişisel pratik kayıtlarıdır— ilk hafta hızın eski hızın yarısının çok altına düştüğü ve günlük kullanımla bir ila üç ay arasında eski hıza geri dönüldüğü yönündedir. Bireyler arasındaki fark 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ıf tutar, bu yüzden 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 alıştırır.
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 nasıl dönülür
X11 üzerinde setxkbmap us komutu anında QWERTY düzenine geri döner. Konsolda ise aynı işlemi sudo loadkeys us 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 yapılandırma, Colemak'ı birinci, standart US düzenini ise ikinci klavye düzeni olarak yükler ve Super+Space tuş kombinasyonu ile bunlar arasında geçiş yapılmasını sağlar. colemak, içindeki sondaki virgül bir yazım hatası değildir; birinci düzene colemak varyantını atarken ikinci düzene herhangi bir varyant atanmamasını sağlar. GNOME üzerinde her iki giriş kaynağını Ayarlar menüsünden ekleyin; Super+Space kombinasyonu burada halihazırda geçişi yönetmektedir.
İki parola istemi masaüstü oturumunuzun dışında çalışır ve ayrı bir dikkat gerektirir. Oturum açma 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 düzeni 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 komutu ile initramfs'i 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 iletir; bu nedenle bir uygulama farklı bir düzen talep edemez. Uygulama yalnızca kendisine ulaşan 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 seçeneğinin bulunmamasının nedeni budur.
İki yaklaşım sonuç verir. Birincisi cihaz bazlı yöntemdir. Eğer QWERTY yazımı ayrı bir klavye üzerinden yapılıyorsa, düzeni sistem genelinde değil, doğrudan o cihaz üzerinde ayarlayın:
xinput list
setxkbmap -device 12 -layout usxinput list komutundan kimlik (id) bilgisini alın ve her klavyede sırayla yazarak doğrulayın. sway, swaymsg -t get_inputs içindeki giriş tanımlayıcılarına göre 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ı burada yeniden atamak, düzenle dışarıdan mücadele etmekten daha kısa sürer. Her iki seçeneğin de bulunmadığı durumlar için, yukarıda belirtilen 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 siz bir şey göndermeden ö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 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ş için 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; çünkü standart Colemak'ta D ve H tuşlarına işaret parmağını orta sütuna uzatarak basılır. 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'ta h, n, e ve i; Colemak-DH'de ise m, n, e ve i. 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 bildirdiği 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 dönüldüğünü göstermektedir. Her gün QWERTY ve Colemak arasında geçiş yapmak bu 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 sadece XWayland üzerinde değişiklik yapar, yerel uygulamalar ise bunu görmezden gelir. Düzeni compositor üzerinden ayarlayın: GNOME üzerinde org.gnome.desktop.input-sources gsettings anahtarı, sway yapılandırmasında xkb_variant veya KDE Plasma'nın Sistem Ayarları'ndaki Düzenler sayfası kullanılmalıdır.