Linux-ல் Colemak layout அமைப்பது எப்படி?
Linux console, X11 மற்றும் Wayland-ல் Colemak அமைக்கும் முறைகளை அறியுங்கள். SSH server-ல் ஏன் layout தேவையில்லை மற்றும் Vim shortcuts-ல் ஏற்படும் மாற்றங்களை விரிவாகப் பாருங்கள்.
Linux-ல் Colemak layout எங்கு அமைகிறது
Linux-ல் Colemak என்பது system முழுமைக்குமான ஒரே அமைப்பல்ல. விசைப்பலகையை (keyboard) அந்தந்த நேரத்தில் கையாளும் மென்பொருளே layout-ஐ தீர்மானிக்கிறது. எனவே, இது மூன்று இடங்களில் ஏதேனும் ஒன்றில் அமையும்: text console, X11 server, அல்லது உங்கள் Wayland compositor. தவறான இடத்தில் அமைத்தால், எந்த மாற்றமும் நிகழ்ந்தது போலத் தெரியாது.
நான்காவது வழிமுறை, operating system-ஐ முழுமையாகத் தவிர்ப்பது. QMK அல்லது VIA போன்ற firmware-ல் இயங்கும் விசைப்பலகைகள், நீங்கள் விரும்பும் எழுத்துக்களுக்கான குறியீடுகளை (codes) நேரடியாக அனுப்புகின்றன. எனவே, நீங்கள் எந்த இயந்திரத்தில் இணைத்தாலும், எந்தவித configuration-ம் இன்றி Colemak-ல் தட்டச்சு செய்யலாம்; இதில் server console மற்றும் உங்களுக்குச் சொந்தமில்லாத இயந்திரங்களும் அடங்கும். இதன் குறைபாடு என்னவென்றால், உங்கள் laptop-ன் விசைப்பலகை தொடர்ந்து QWERTY-யாகவே இருக்கும்.
இந்த வழிகாட்டியின் மீதிப் பகுதி, இந்த மூன்று மென்பொருள் அடுக்குகளைப் பற்றியும், ஒரு remote server-க்கு ஏன் இவை பெரும்பாலும் தேவையில்லை என்பது பற்றியும், இந்த மாற்றத்தால் Vim மற்றும் terminal குறுக்குவழிகளில் (shortcuts) என்ன நிகழும் என்பது பற்றியும் விளக்குகிறது.
உங்கள் கணினியில் ஏற்கனவே உள்ளவற்றைச் சரிபார்த்தல்
எந்த மாற்றத்தையும் செய்வதற்கு முன் இவற்றை இயக்கவும். இவை தற்போதைய அமைப்பையும், உங்கள் X keyboard database-ல் உள்ள Colemak வகைகளின் பட்டியலையும் காட்டும்.
localectl status
setxkbmap -query
localectl list-x11-keymap-variants us | grep colemakகடைசி கட்டளை colemak மற்றும் colemak_dh ஆகியவற்றை அச்சிட வேண்டும். Colemak பல ஆண்டுகளாக xkeyboard-config-ல் உள்ளது. Colemak-DH பதிப்பு 2.34-ல் சேர்க்கப்பட்டது, எனவே பழைய release-களில் மட்டுமே இது இருக்காது. ஆகஸ்ட் 2026 நிலவரப்படி, Ubuntu 24.04 மற்றும் Debian 13 ஆகிய இரண்டுமே இதைவிட புதிய பதிப்பையே கொண்டுள்ளன.
setxkbmap -query கட்டளையானது display-ஐத் திறக்க முடியவில்லை என்று காட்டினால், நீங்கள் Wayland session-ல் இருக்கிறீர்கள் என்று அர்த்தம்; அங்கு compositor-தான் layout-ஐக் கட்டுப்படுத்தும். அந்தச் சூழலுக்குக் கீழே தனிப் பிரிவு உள்ளது.
Colemak அல்லது Colemak-DH
Colemak, QWERTY அமைப்பிலிருந்து 17 விசைகளை (keys) மாற்றுகிறது; Z, X, C மற்றும் V உள்ளிட்ட 10 விசைகளை மாற்றாமல் அப்படியே வைத்திருக்கிறது. இதனால் undo, cut, copy மற்றும் paste ஆகிய குறுக்குவழிகள் (shortcuts) உங்கள் இடது கை பழகிய இடத்திலேயே இருக்கும். இந்த இணக்கத்தன்மைதான் இந்த layout-ன் வடிவமைப்புக்குக் காரணம்.
Colemak-DH என்பது Colemak-ன் ஒரு மாற்றியமைக்கப்பட்ட பதிப்பாகும். இது D, B மற்றும் G ஆகிய விசைகளை இடம் மாற்றுகிறது; மேலும் H மற்றும் M ஆகியவற்றை இடமாற்றம் செய்கிறது. சாதாரண Colemak-ல் D மற்றும் H ஆகிய இரண்டையும் தட்டச்சு செய்யும்போது, ஆள்காட்டி விரலை (index finger) விசைப்பலகையின் நடு வரிசைக்கு நீட்ட வேண்டியிருக்கும். இந்த அதிகாரப்பூர்வ மாற்றத்தில், Colemak-ல் பயன்படுத்திய அதே விரலையே அந்தந்த எழுத்துக்களுக்குப் பயன்படுத்துவதால், Colemak-லிருந்து DH-க்கு மாறுபவர்களுக்குப் பெரிய சிரமம் இருக்காது. இதற்கான XKB variant colemak_dh ஆகும்; இடது shift விசைக்கு அருகில் கூடுதல் விசை கொண்ட விசைப்பலகைகளுக்கு colemak_dh_iso பயன்படுத்தப்படுகிறது.
QWERTY-லிருந்து மாறுபவர்களுக்கு, இரண்டில் எதைத் தேர்ந்தெடுத்தாலும் ஒரே மாதிரியான கற்றல் முயற்சியே தேவைப்படும். எனவே, உங்களுக்கு வசதியானதைத் தேர்ந்தெடுத்து அதிலேயே தொடருங்கள். ஒரு layout-லிருந்து இன்னொன்றுக்கு மாறுவது மீண்டும் முதல்முறை கற்றுக்கொள்வது போன்றது; ஏனெனில் நீங்கள் மீண்டும் உருவாக்க வேண்டியது விசை நிலைகளுடன் தொடர்புடைய தசை நினைவாற்றலை (motor memory) தான்.
setxkbmap மற்றும் localectl மூலம் X11-ல் Colemak அமைத்தல்
setxkbmap us -variant colemak
setxkbmap -querysetxkbmap -query இப்போது variant: colemak என்று காட்ட வேண்டும், மேலும் எந்த விண்டோவிலும் தட்டச்சு செய்யும் போது Colemak எழுத்துக்கள் வர வேண்டும். இந்த மாற்றம் X session முடியும் வரை மட்டுமே இருக்கும் மற்றும் வட்டில் எதையும் எழுதாது, எனவே ஒரு மணி நேரம் இந்த layout-ஐ முயற்சி செய்ய இதுவே பாதுகாப்பான வழியாகும்.
Reboot செய்த பிறகும் இது நீடிக்க:
sudo localectl set-x11-keymap us pc105 colemak
localectl statusஇதன் argument வரிசை layout, பிறகு model, அதன் பிறகு variant ஆகும். localectl status இப்போது X11 Layout: us மற்றும் X11 Variant: colemak என்று காட்ட வேண்டும். நீங்கள் --no-convert-ஐச் சேர்க்காத வரை, localectl உங்கள் தேர்வை அதற்கு நெருக்கமான console keymap-ஆகவும் மாற்றும், எனவே பல கணினிகளில் இந்த ஒரே கட்டளை tty-க்கும் பொருந்தும். Debian மற்றும் Ubuntu-வில், அதன் பிறகு /etc/default/keyboard-ஐச் சரிபார்க்கவும், ஏனெனில் boot-ன் போது console-setup அந்த கோப்பையே வாசிக்கிறது.
Wayland-ல் Colemak அமைத்தல்
Wayland session-ல் configure செய்வதற்கு X server கிடையாது. Compositor-தான் keymap-ஐ ஏற்றி ஒவ்வொரு application-க்கும் வழங்குகிறது, எனவே layout என்பது compositor-ன் அமைப்பாகும். இதனால்தான் அங்கு setxkbmap வேலை செய்யாது: அது display-ஐக் கண்டறியத் தவறும், அல்லது XWayland-ல் மட்டும் மாற்றத்தை ஏற்படுத்தும், உங்கள் native Wayland application-கள் அதை நிராகரித்துவிடும்.
GNOME-ல் இந்த அமைப்பு ஒரு gsettings key ஆகும்:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+colemak')]"இது logout செய்யாமலேயே உடனடியாகச் செயல்படும். us+colemak என்ற string என்பது layout மற்றும் variant ஆகியவற்றை பிளஸ் (+) குறியீட்டால் இணைத்ததாகும்.
sway-ல், இதை ~/.config/sway/config-ல் சேர்க்கவும்:
input type:keyboard {
xkb_layout us
xkb_variant colemak_dh
}swaymsg reload மூலம் reload செய்யவும். swaymsg -t get_inputs ஒவ்வொரு input device-ம் பயன்படுத்தும் layout-ஐப் பட்டியலிடும்; ஏதேனும் ஒரு keyboard மட்டும் சரியாகச் செயல்படவில்லை என்றால், இதைத்தான் சரிபார்க்க வேண்டும்.
KDE Plasma-வில், System Settings-ஐத் திறந்து, Keyboard என்பதற்குச் சென்று, பின் Layouts-ஐத் தேர்ந்தெடுத்து, English (US)-ஐ Colemak variant-உடன் சேர்க்கவும்.
Text console-ல் Colemak-ஐ அமைத்தல்
Console என்பது Ctrl+Alt+F3 மூலம் நீங்கள் அணுகும் plain-text tty ஆகும். இதற்குத் தனிப்பட்ட keymap உள்ளது. X11 அல்லது compositor-ல் நீங்கள் செய்யும் மாற்றங்கள் இதற்குப் பொருந்தாது. நீங்கள் bare virtual console-ல் உள்ள terminal workbench-ல் பணிபுரியும் போது இது முக்கியமானது.
Debian மற்றும் Ubuntu-வில், /etc/default/keyboard-ஐத் திருத்தவும்:
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT="colemak"
XKBOPTIONS=""பின்பு அதைச் செயல்படுத்தவும்:
sudo setupconஉறுதிப்படுத்த console-ல் தட்டச்சு செய்யவும். console-setup அந்த XKB விளக்கத்தை ckbcomp மூலம் console keymap-ஆக மாற்றுகிறது. எனவே, இந்த system-களில் console மற்றும் X ஆகிய இரண்டும் ஒரே விளக்கத்தைப் பகிர்ந்து கொள்கின்றன.
kbd keymaps-ஐ நேரடியாகப் பயன்படுத்தும் distribution-களில், முதலில் அதன் பெயரைச் சரிபார்க்கவும்:
localectl list-keymaps | grep -i -e colemak -e latin9
sudo localectl set-keymap en-latin9kbd package, Colemak console map-ஐ i386/colemak/en-latin9-ஆக வழங்குகிறது. எனவே, நீங்கள் குறிப்பிடும் பெயர் பொதுவாக colemak அல்ல, en-latin9 ஆகும். பட்டியலில் உள்ள பெயரை மட்டும் பயன்படுத்தவும், ஏனெனில் இல்லாத பெயரை system நிராகரித்துவிடும்.
sudo loadkeys en-latin9 தற்போதைய console-ஐ உடனடியாக மாற்றும், sudo loadkeys us அதை மீண்டும் பழைய நிலைக்குக் கொண்டுவரும். loadkeys-ஐ ஒரு configuration-ஆகக் கருதாமல், ஒரு சோதனை முயற்சியாகக் கருதவும்: இது reboot செய்யும் வரை மட்டுமே இருக்கும். Debian மற்றும் Ubuntu-வில், boot-time-ல் இயங்கும் setupcon, /etc/default/keyboard-ல் உள்ள அமைப்புகளை மீண்டும் நிலைநிறுத்தும்.
Headless VPS-க்கு Colemak layout தேவையா?
தேவைப்படாது, இதற்கான காரணத்தைப் புரிந்துகொள்வது அவசியம். SSH என்பது விசைகளின் அமைப்பைக் (key positions) கடத்தாமல், எழுத்துக்களை மட்டுமே கடத்துகிறது. உங்கள் terminal emulator விசையழுத்தத்தைப் பெற்று, உங்கள் உள்ளூர் layout-ஐப் பயன்படுத்தி அதை ஒரு எழுத்தாக மாற்றுகிறது; அந்த எழுத்து மட்டுமே இணைப்பின் வழியாகச் செல்கிறது. சர்வர் n-ஐப் பெறுகிறது, ஆனால் எந்த இயற்பியல் விசை அந்த எழுத்தை உருவாக்கியது என்பதை அதனால் அறிய முடியாது. எனவே, உங்கள் laptop-ல் நீங்கள் அமைத்துள்ள layout, நீங்கள் SSH மூலம் நுழையும் ஒவ்வொரு session-க்கும், tmux-க்கும், நீங்கள் remotely இயக்கும் ஒவ்வொரு editor-க்கும் தானாகவே பொருந்தும். ரிமோட் மெஷினில் எந்தவிதமான keyboard configuration-ம் செய்ய வேண்டியதில்லை.
Production சர்வர்களில் keyboard கோப்புகளைத் திருத்துவதற்கு முன் இதை நினைவில் கொள்ளுங்கள். நீங்கள் Linux சர்வர்களின் தொகுப்பை நிர்வகித்தால், layout என்பது உங்கள் முன்னால் இருக்கும் மெஷினுக்கு உரியதே தவிர, சர்வர் தொகுப்பிற்கு உரியதல்ல. எனவே, provisioning-ல் இதற்கு இடமில்லை. புதிய VPS-ல் முதல் பத்து நிமிடங்கள் செலவிடுவது இதைவிட பயனுள்ள வேலையாக இருக்கும்.
இரண்டு விதிவிலக்குகளைக் கவனத்தில் கொள்ள வேண்டும். முதலாவது, மெஷினுடன் நேரடியாக இணைக்கப்பட்ட console. ஒரு provider panel-ல் உள்ள browser console, மெய்நிகர் மெஷினுக்கு ஒரு விசைப்பலகையாகவே செயல்படுகிறது. அங்கு விசையழுத்தங்கள் scancodes-ஆகச் சென்று, சர்வரின் சொந்த console keymap மூலம் எழுத்துக்களாக மாற்றப்படுகின்றன. சர்வரில் நீங்கள் அமைக்கும் layout அங்கு மட்டுமே செயல்படும். SSH வேலை செய்யாதபோது இதுவே உங்கள் மீட்பு வழியாகும், எனவே அங்கு அரைகுறையாக மாற்றப்பட்ட console keymap பெரும் சிக்கலை உண்டாக்கும்.
Serial console வித்தியாசமாகச் செயல்படும், ஏனெனில் அது எழுத்துக்களை மட்டுமே கடத்துகிறது மற்றும் உங்கள் உள்ளூர் layout-ஐயே பயன்படுத்துகிறது. இரண்டாவது விதிவிலக்கு, பல பயனர்கள் பயன்படுத்தும் மெஷின். Console keymap என்பது system-wide அமைப்பாகும். எனவே, மற்றவர்கள் பயன்படுத்தும் ஒரு மெஷினில் Colemak-ஐ அமைத்தால், அது அவர்களுக்கும் மாற்றத்தை ஏற்படுத்தும், அதற்கான காரணத்தை அவர்களால் எளிதில் கண்டறிய முடியாது.
Vim-ன் hjkl விசைகளுக்கு என்ன நடக்கும்
Colemak விசைப்பலகையில், h நகராது. மற்ற மூன்று விசைகளும் இயங்கும். j என்பது QWERTY-ன் Y விசைக்குக் கீழும், k என்பது QWERTY-ன் N விசைக்குக் கீழும், l என்பது QWERTY-ன் U விசைக்குக் கீழும் அமைகின்றன. இதனால், கர்சர் நகர்த்தும் விசைகள் நான்கு விரல்களுக்கு அடியில் அமைவதற்குப் பதிலாக, மூன்று வரிசைகளில் பரவி இருக்கும்.
இதற்கு இரண்டு நடைமுறைத் தீர்வுகள் உள்ளன, இரண்டிற்கும் பயனர்கள் உள்ளனர்.
இயல்புநிலை அமைப்புகளை அப்படியே வைத்துக்கொண்டு, புதிய இடங்களைக் கற்றுக்கொள்ளுங்கள். உங்கள் அமைப்பில் வேறு எதுவும் பாதிக்கப்படாது, அனைத்து plugin-களும் தொடர்ந்து இயங்கும், மேலும் மற்றவர்கள் எழுதிய அனைத்து Vim குறிப்புகளும் உங்களுக்கு அப்படியே பொருந்தும்.
அல்லது, உங்கள் வலது கைக்கு அடியில் உள்ள நான்கு விசைகளை, hjkl இருந்த இடத்திற்கு ஏற்ப மீண்டும் map செய்யுங்கள். Colemak-ல் அந்த விசைகள் h, n, e மற்றும் i ஆகியவற்றைத் தரும். Colemak-DH-ல் அதே நான்கு இயற்பியல் விசைகள் m, n, e மற்றும் i ஆகியவற்றைத் தரும், ஏனெனில் DH ஆனது H மற்றும் M ஆகியவற்றை இடமாற்றம் செய்துள்ளது.
noremap n j
noremap e k
noremap i l
noremap l i
noremap k nn இப்போது கீழே நகர்த்தும், e மேலே நகர்த்தும், i வலதுபுறம் நகர்த்தும், h ஏற்கனவே இடதுபுறம் நகர்த்தும் வகையில் இருந்தது. கடைசி இரண்டு வரிகள் நீங்கள் மாற்றிய கட்டளைகளை மீண்டும் வழங்குகின்றன: l insert mode-ஐத் தொடங்கும், k கடைசியாகச் செய்த தேடலை மீண்டும் செய்யும். பெரிய எழுத்துக்களுக்கும் (capitals) இதே மாற்றத்தைச் செய்யுங்கள், இல்லையெனில் Shift மற்றும் கர்சர் விசையைப் பயன்படுத்தும்போது எதிர்பாராத முடிவுகள் கிடைக்கலாம்.
Vim-ன் langmap விருப்பம் இதே வேலையைச் சில வரிகளில் செய்கிறது:
set langmap=nj,ek,il,li,knஒவ்வொரு ஜோடியும், நீங்கள் தட்டச்சு செய்த எழுத்து மற்றும் Vim செயல்பட வேண்டிய எழுத்து என அமையும். இது normal mode-க்கு மட்டுமே பொருந்தும், எனவே insert mode-ல் Colemak உரை வழக்கம் போலவே தட்டச்சு செய்யப்படும். Vim-ன் சொந்த உதவியில் இரண்டு வரம்புகள் குறிப்பிடப்பட்டுள்ளன: langmap என்பது Ctrl அல்லது Alt சேர்க்கைகளுக்குப் பொருந்தாது, மேலும் இயல்புநிலை விசைகளை அடிப்படையாகக் கொண்டு எழுதப்பட்ட plugin mappings இதில் விசித்திரமாகச் செயல்படலாம்.
நீங்கள் எதைத் தேர்வு செய்தாலும், அதை உறுதியாகத் தேர்வு செய்யுங்கள். ஒரு மாதத்திற்குப் பிறகு கைவிடும் ஒரு remap, உங்களுக்கு மேலும் ஒரு மாத கால இழப்பை ஏற்படுத்தும்.
Terminal குறுக்குவழிகளுக்கு (shortcuts) என்னவாகும்
Terminal கட்டுப்பாட்டுக் குறியீடு (control code) என்பது இயற்பியல் விசையிலிருந்து (physical key) வருவதில்லை, அது அந்த எழுத்துருவிலிருந்து வருகிறது. எனவே, ஒவ்வொரு Ctrl குறுக்குவழியும் layout-உடன் சேர்ந்து நகரும். Ctrl+C, Ctrl+Z, Ctrl+X மற்றும் Ctrl+V ஆகியவை அவற்றின் இடங்களிலேயே இருக்கும், ஏனெனில் QWERTY-ல் உள்ள அதே இடங்களில் Z, X, C மற்றும் V ஆகியவற்றை Colemak வேண்டுமென்றே வைத்துள்ளது.
நீங்கள் தினமும் பயன்படுத்தும் நான்கு குறுக்குவழிகள் இடம் மாறுகின்றன. உள்ளீட்டை முடிக்கும் Ctrl+D, இப்போது QWERTY-ல் G இருக்கும் இடத்தில் உள்ளது. வரலாறு தேடலுக்குப் பயன்படும் Ctrl+R, QWERTY-ல் S இருக்கும் இடத்தில் உள்ளது. வரியின் முடிவைக் குறிக்கும் Ctrl+E, QWERTY-ல் K இருக்கும் இடத்தில் உள்ளது. வரியை அழிக்கும் Ctrl+U, QWERTY-ல் I இருக்கும் இடத்தில் உள்ளது.
tmux அதன் default prefix-ஐ மாற்றாது, ஏனெனில் Colemak-ல் B நகர்வதில்லை. Colemak-DH-ல், B மேல் வரிசைக்கு நகர்கிறது, அதனுடன் prefix-ம் நகர்கிறது. நீங்கள் VPS-ல் நீண்ட நேரம் இயங்கும் tmux session வைத்திருந்தால், இதையே நீங்கள் முதலில் கவனிப்பீர்கள். உங்களுக்குப் பிடித்த ஒரு விசைக்கு prefix-ஐ மாற்றுவது ஒரு வரி மாற்றம்தான், இது ஒரே reflex-ஐ இருமுறை மீண்டும் பழக்குவதை விட எளிதானது.
Desktop குறுக்குவழிகளும் இதே விதியைப் பின்பற்றுகின்றன. Super+E-ல் உள்ள binding, எழுத்துருவால் வரையறுக்கப்படுவதால் layout-உடன் சேர்ந்து நகரும். Super+F1-ல் உள்ள binding மாறாமல் இருக்கும், ஏனெனில் function keys layout-ஆல் மாற்றப்படுவதில்லை.
இந்த மாற்றத்திற்கு எவ்வளவு காலம் தேவைப்படும்
உங்கள் கைகளுக்கு எவ்வளவு காலம் தேவைப்படும் என்பதற்கு யாராலும் ஒரு குறிப்பிட்ட கால அளவைக் கூற முடியாது. Touch typing என்பது தசை நினைவாற்றல் (motor memory) சார்ந்தது. நீங்கள் எழுத்துக்கள் எங்கே இருக்கின்றன என்று கற்கவில்லை; ஒரு சொல்லை விரல்களின் வரிசையாக மாற்றும் அனிச்சைச் செயலை (reflex) மீண்டும் உருவாக்குகிறீர்கள். எனவே, தட்டச்சு செய்வதில் செலவிடும் நேரமே முன்னேற்றத்திற்கு உதவும் ஒரே காரணியாகும்.
மக்கள் தெரிவிக்கும் தகவல்களின்படி (இவை முறையான அளவீடுகள் அல்ல, சுய-அறிக்கைகள் மட்டுமே), முதல் வாரத்தில் பழைய வேகத்தில் பாதியளவு கூட இருக்காது. தினமும் பயன்படுத்துவதன் மூலம், ஒன்று முதல் மூன்று மாதங்களுக்குள் பழைய வேகத்தை மீண்டும் எட்ட முடியும். நபருக்கு நபர் இந்த காலம் மாறுபடும் என்பதால், இந்த எண்களை ஒரு கால அட்டவணையாகக் கருதாமல், ஒரு பொதுவான தோராயமாக எடுத்துக்கொள்ளுங்கள்.
இரண்டு பழக்கங்கள் இந்த மாற்றத்தை மெதுவாக்குகின்றன. நாள் முழுவதும் QWERTY மற்றும் Colemak ஆகியவற்றுக்கு இடையே மாறி மாறி தட்டச்சு செய்வது, இரண்டு பழக்கங்களையும் பலவீனப்படுத்தும். எனவே, இந்த மாற்றத்தை வெற்றிகரமாக முடிப்பவர்கள் தங்கள் முதன்மை கணினியில் முழுமையாக ஒன்றையே பயன்படுத்துகின்றனர். வேலைப்பளு மிகுந்த வாரத்தில் இதைப் பயிலத் தொடங்கினால், கால நெருக்கடியால் தவறாகத் தட்டச்சு செய்ய நேரிடும்; இது விசைப்பலகையைப் பார்த்துத் தட்டச்சு செய்யும் பழக்கத்தை உண்டாக்கிவிடும்.
தேவைப்படுவதற்கு முன்பே பழைய நிலைக்குத் திரும்புவதற்கான வழியைத் தயார் செய்து வைத்துக்கொள்ளுங்கள். ஏனெனில், உங்களுக்கு மீண்டும் QWERTY தேவைப்படும் தருணம் என்பது, ஏதோ ஒன்று பழுதடைந்து, யாரோ ஒருவர் உங்களுக்காகக் காத்திருக்கும் நெருக்கடியான நேரமாகவே இருக்கும்.
QWERTY தளவமைப்பிற்கு விரைவாக மாறுவது எப்படி
X11-ல், setxkbmap us கட்டளை உடனடியாக QWERTY தளவமைப்பை மீட்டமைக்கும். Console-ல், sudo loadkeys us அதே செயலைச் செய்யும். நிரந்தரமான அமைப்பை நீக்க, sudo localectl set-x11-keymap us கட்டளையை இயக்கவும்.
உங்களால் தட்டச்சு செய்ய முடியாத தளவமைப்பில் ஒரு கட்டளையை உள்ளிடுவதை விட, ஒரு toggle-ஐப் பயன்படுத்துவது சிறந்தது:
setxkbmap -layout us,us -variant colemak, -option grp:win_space_toggleஇது Colemak-ஐ முதல் தளவமைப்பாகவும், சாதாரண US தளவமைப்பை இரண்டாவதாகவும் ஏற்றும்; Super+Space விசைகளை அழுத்துவதன் மூலம் அவற்றுக்கிடையே மாறலாம். colemak,-ல் உள்ள இறுதி கமா (comma) பிழை அல்ல: இது முதல் தளவமைப்பிற்கு colemak variant-ஐயும், இரண்டாவது தளவமைப்பிற்கு எவ்வித மாற்றமும் இல்லாமலும் வழங்குகிறது. GNOME-ல், Settings-ல் இரண்டு input sources-ஐயும் சேர்க்கவும்; அங்கு Super+Space ஏற்கனவே அவற்றுக்கிடையே மாற உதவும்.
உங்கள் desktop session-க்கு வெளியே இரண்டு கடவுச்சொல் கேட்கும் திரைகள் (password prompts) உள்ளன, அவற்றுக்குத் தனி கவனம் தேவை. உங்கள் session அமைப்புகள் நடைமுறைக்கு வருவதற்கு முன்பே login greeter தொடங்கிவிடும், எனவே அமைப்பை அப்படியே நம்புவதற்குப் பதிலாக, logout செய்து சோதிக்கவும். வட்டு (disk) குறியாக்கம் செய்யப்பட்டிருந்தால், passphrase கேட்கும் திரை initramfs-லிருந்து இயங்கும்; இது தனக்கென ஒரு keymap நகலைக் கொண்டிருக்கும். Debian மற்றும் Ubuntu-வில், /etc/default/keyboard-ஐ மாற்றிய பிறகு sudo update-initramfs -u மூலம் அதை மீண்டும் உருவாக்கவும் (rebuild), பின்னர் கணினிக்குள் நுழைய மற்றொரு வழி இருக்கும்போதே ஒருமுறை reboot செய்து சோதிக்கவும்.
ஒரு நிரலை மட்டும் QWERTY தளவமைப்பில் வைத்திருக்க முடியுமா?
விசைப்பலகை தளவமைப்பு (layout) ஒரு செயலிக்குத் தரவுகள் செல்வதற்கு முன்பே செயல்படுத்தப்படுகிறது. X server அல்லது compositor ஒரு scancode-ஐ எழுத்தாக மாற்றி அனுப்புகிறது, எனவே ஒரு செயலியால் தனக்கெனத் தனி தளவமைப்பைக் கோர முடியாது. அது தனக்குக் கிடைக்கும் தரவை மட்டுமே மறுவரைவு (remap) செய்ய முடியும். இதனால்தான் Vim-க்கான திருத்தம் அதன் config-ல் உள்ளது, மேலும் ஒவ்வொரு சாளரத்திற்கும் தனித்தனி தளவமைப்பு மாற்றும் வசதி பொதுவானதாக இல்லை.
இரண்டு அணுகுமுறைகள் வேலை செய்யும். முதலாவது, ஒவ்வொரு சாதனத்திற்கும் தனித்தனியாக அமைப்பது. QWERTY தட்டச்சு ஒரு தனி விசைப்பலகையில் நடக்கிறது என்றால், கணினி முழுமைக்கும் அமைப்பதற்குப் பதிலாக அந்தச் சாதனத்திற்கு மட்டும் தளவமைப்பை அமைக்கவும்:
xinput list
setxkbmap -device 12 -layout usxinput list-லிருந்து id-ஐ எடுத்துக்கொள்ளவும், ஒவ்வொரு விசைப்பலகையிலும் தட்டச்சு செய்து அதை உறுதிப்படுத்தவும். sway, swaymsg -t get_inputs-ல் உள்ள அதே அமைப்புகளை ஒவ்வொரு உள்ளீட்டு அடையாளங்காட்டிக்கும் (input identifier) ஏற்கும், மேலும் type:keyboard-ஐ விட குறிப்பிட்ட selector-க்கே முன்னுரிமை அளிக்கப்படும்.
இரண்டாவது அணுகுமுறை, Vim-ன் langmap செய்வது போல செயலிக்குள்ளேயே மறுவரைவு செய்வது. விளையாட்டுகளில் பெரும்பாலும் key binding திரை இருக்கும், அங்கு நகர்வு விசைகளை (movement keys) மாற்றுவது, வெளியிலிருந்து தளவமைப்பை எதிர்த்துப் போராடுவதை விட எளிதானது. இவை இரண்டுமே இல்லாத பட்சத்தில், மேலே குறிப்பிட்ட தளவமைப்பு மாற்றும் விசையை (layout toggle) அமைத்து, செயலியைத் தொடங்குவதற்கு முன் அதை அழுத்தவும்.
FAQ
எனது VPS-ல் Colemak-ஐ அமைக்க வேண்டுமா?
தேவையில்லை, நீங்கள் SSH மூலம் அதை அணுகினால் இது தேவையில்லை. SSH எழுத்துக்களை மட்டுமே கடத்துகிறது, எனவே உங்கள் லேப்டாப்பில் உள்ள கீபோர்டு அமைப்பு ஏற்கனவே தீர்மானிக்கப்பட்டு, சர்வர் QWERTY பயனர் அனுப்பும் அதே பைட்டுகளையே பெறுகிறது. உங்கள் பிரொவைடரின் பேனலில் உள்ள browser console இதற்கு விதிவிலக்கு; அது ஒரு கீபோர்டாக virtual machine-உடன் இணைந்து, சர்வரின் சொந்த console keymap-ஐப் பயன்படுத்துகிறது. SSH தோல்வியடையும் போது அந்த console தான் உங்கள் மீட்புப் பாதை, எனவே நீங்கள் உறுதியாக இருந்தால் மட்டுமே அதை மாற்றவும், மேலும் SSH வேலை செய்யும் போதே அதைச் சோதித்துப் பார்க்கவும்.
நான் Colemak அல்லது Colemak-DH எதைக் கற்க வேண்டும்?
இரண்டுமே QWERTY-லிருந்து மாறுவதற்கு ஒரே மாதிரியான கற்றல் முயற்சியையே கோருகின்றன, எனவே இடம்பெயர்வு செலவை விட உங்கள் வசதிக்கேற்ப ஒன்றைத் தேர்வு செய்யவும். Colemak-DH என்பது D, B மற்றும் G ஆகிய விசைகளை இடமாற்றம் செய்து, H மற்றும் M ஆகியவற்றை மாற்றுகிறது; ஏனெனில் சாதாரண Colemak-ல் D மற்றும் H விசைகளை அழுத்தும்போது ஆள்காட்டி விரலை நடு வரிசைக்கு நீட்ட வேண்டியிருக்கும். இதற்கான XKB variant பெயர்கள் colemak மற்றும் colemak_dh ஆகும், மேலும் இடது shift விசைக்கு அருகில் கூடுதல் விசை கொண்ட கீபோர்டுகளுக்கு colemak_dh_iso பயன்படுத்தப்படுகிறது. உங்கள் சிஸ்டத்தில் எவை உள்ளன என்பதைப் பார்க்க localectl list-x11-keymap-variants us | grep colemak கட்டளையை இயக்கவும்.
Colemak-ல் Vim-ன் hjkl விசைகளுக்கு என்னவாகும்?
h அதன் இடத்திலேயே இருக்கும். j என்பது QWERTY-ன் Y விசைக்குக் கீழும், k என்பது QWERTY-ன் N விசைக்குக் கீழும், l என்பது QWERTY-ன் U விசைக்குக் கீழும் நகரும், இதனால் கர்சர் விசைகள் மூன்று வரிசைகளில் பரவி இருக்கும். அவை அமரும் புதிய இடங்களிலேயே நீங்கள் பழகிக்கொள்ளலாம், இது அனைத்து plugin-களையும் tutorial-களையும் அப்படியே பயன்படுத்த உதவும். அல்லது உங்கள் வலது கைக்குக் கீழே உள்ள நான்கு விசைகளை remap செய்யலாம்: Colemak-ல் h, n, e மற்றும் i, Colemak-DH-ல் m, n, e மற்றும் i. Vim-ன் langmap விருப்பமும் normal mode-க்கு இதே வேலையைச் செய்கிறது, இருப்பினும் இது Ctrl சேர்க்கைகளுக்குப் பொருந்தாது மற்றும் சில plugin mappings-ஐக் குழப்பக்கூடும்.
பழைய வேகத்தில் தட்டச்சு செய்ய எவ்வளவு காலம் ஆகும்?
நாட்களை விட வாரங்கள் ஆகும் என்று எதிர்பார்க்கலாம், ஏனெனில் இது தசை நினைவாற்றல் (motor memory) சார்ந்தது மற்றும் பயிற்சி மட்டுமே ஒரே வழி. சுய-பயிற்சி பதிவுகளின்படி, முதல் வாரத்தில் பழைய வேகத்தில் பாதியைக் கூட எட்ட முடியாது, தினமும் பயன்படுத்தினால் ஒன்று முதல் மூன்று மாதங்களுக்குள் பழைய வேகத்தை அடையலாம். தினமும் QWERTY மற்றும் Colemak என மாறி மாறிப் பயன்படுத்துவது இந்த காலத்தை நீட்டிக்கும், ஏனெனில் எந்த ஒரு அனிச்சைச் செயலும் (reflex) நிலைபெறாது.
எனது டெஸ்க்டாப்பில் setxkbmap ஏன் வேலை செய்யவில்லை?
நிச்சயமாக உங்கள் session Wayland-ஆக இருப்பதால்தான் இது நடக்கிறது. Wayland-ல் compositor தான் keymap-ஐக் கட்டுப்படுத்துகிறது மற்றும் அதை ஒவ்வொரு application-க்கும் வழங்குகிறது. எனவே setxkbmap-ஆல் display-ஐக் கண்டறிய முடியாது அல்லது அது XWayland-ஐ மட்டுமே மாற்றும், native application-கள் அதை நிராகரித்துவிடும். அதற்குப் பதிலாக compositor-ல் layout-ஐ அமைக்கவும்: GNOME-ல் org.gnome.desktop.input-sources gsettings key, sway config-ல் xkb_variant, அல்லது KDE Plasma-ன் System Settings-ல் உள்ள Layouts பக்கம் ஆகியவற்றைப் பயன்படுத்தவும்.