SSD Nodes Learn Hosting plans →
تعلیمی Matt Connorتحریر: Matt Connor · اپ ڈیٹ شدہ 2026-08-29

Linux پر Colemak کیسے فعال کریں

Linux console، X11 اور Wayland میں Colemak فعال کرنے کا درست طریقہ جانیں، SSH سرور پر layout کی ضرورت سمجھیں، اور Vim کے hjkl و Ctrl shortcuts پر اثر دیکھیں۔

Where a Colemak layout lives on Linux

Linux پر Colemak کسی ایک system-wide setting میں محفوظ نہیں ہوتا۔ layout کا اطلاق اس پروگرام یا سروس کے ذریعے ہوتا ہے جو اس وقت keyboard input پڑھ رہی ہو۔ یہ تین میں سے کسی ایک جگہ ہوتا ہے: text console، X11 server، یا آپ کا Wayland compositor۔ اسے غلط جگہ پر set کرنے سے بظاہر کچھ نہیں ہوتا۔

چوتھا طریقہ operating system کو مکمل طور پر bypass کر دیتا ہے۔ ایسا keyboard جو اپنے firmware میں remapping کرتا ہو، مثلاً QMK یا VIA چلانے والا board، آپ کے مطلوبہ حروف کے codes بھیجتا ہے۔ اس لیے آپ جس machine میں بھی اسے لگائیں، وہ بغیر کسی configuration کے Colemak میں type کرتا ہے۔ اس میں server console اور ایسی machine بھی شامل ہے جو آپ کی ملکیت نہ ہو۔ اس کا نقصان یہ ہے کہ laptop keyboard پھر بھی QWERTY میں type کرتا ہے۔

اس guide کے باقی حصے میں تین software layers، remote server کو تقریباً کبھی بھی ان کی ضرورت نہ ہونے کی وجہ، اور اس switch کے Vim اور terminal shortcuts پر اثرات بیان کیے گئے ہیں۔

اپنے سسٹم میں پہلے سے موجود چیزیں دیکھیں

کسی بھی تبدیلی سے پہلے یہ کمانڈز چلائیں۔ یہ موجودہ setting اور آپ کے X keyboard database میں دستیاب Colemak variants کی فہرست دکھاتی ہیں۔

localectl status
setxkbmap -query
localectl list-x11-keymap-variants us | grep colemak

آخری کمانڈ کو colemak اور colemak_dh دکھانا چاہیے۔ Colemak کئی سال سے xkeyboard-config میں شامل ہے۔ Colemak-DH کو version 2.34 میں شامل کیا گیا تھا، اس لیے صرف پرانا release ہی اسے شامل نہیں کرے گا۔ August 2026 تک Ubuntu 24.04 اور Debian 13 دونوں اس سے نیا version فراہم کرتے ہیں۔

اگر setxkbmap -query یہ بتائے کہ وہ display کھول نہیں سکتا، تو آپ Wayland session میں ہیں اور layout کی ملکیت compositor کے پاس ہے۔ اس صورت کے لیے ذیل میں الگ section موجود ہے۔

Colemak یا Colemak-DH

Colemak، QWERTY کی نسبت 17 keys منتقل کرتا ہے اور 10 keys کو اپنی جگہ رہنے دیتا ہے، جن میں Z، X، C اور V شامل ہیں۔ اس لیے undo، cut، copy اور paste shortcuts آپ کے بائیں ہاتھ کی متوقع جگہوں پر ہی رہتے ہیں۔ layout کی موجودہ ساخت کی اصل وجہ یہی compatibility ہے۔

Colemak-DH، Colemak میں کی گئی ایک ترمیم ہے۔ یہ D، B اور G کو دوسری جگہ منتقل کرتا ہے اور H کو M سے بدل دیتا ہے، کیونکہ سادہ Colemak میں D اور H دونوں ٹائپ کرنے کے لیے index finger کو keyboard کے درمیانی column تک پھیلانا پڑتا ہے۔ official mod میں ہر letter اسی finger پر رہتا ہے جس سے وہ Colemak میں ٹائپ ہوتا تھا۔ اس لیے Colemak استعمال کرنے والے کو DH پر منتقل ہوتے وقت مکمل نیا layout سیکھنے کے بجائے صرف معمولی تبدیلی کا سامنا ہوتا ہے۔ XKB variant colemak_dh ہے، جبکہ بائیں shift کے ساتھ اضافی key والے keyboards کے لیے colemak_dh_iso استعمال ہوتا ہے۔

QWERTY سے آنے والے صارف کے لیے دونوں میں سے کسی ایک کا انتخاب دوبارہ سیکھنے کا ایک ہی مرحلہ ہے، اس لیے comfort کی بنیاد پر انتخاب کریں اور اسی پر قائم رہیں۔ layout کو دوسری بار تبدیل کرنے میں تقریباً پہلی تبدیلی جتنی ہی محنت لگتی ہے، کیونکہ آپ key positions سے وابستہ motor memory دوبارہ بنا رہے ہوتے ہیں۔ اگر ابھی بھی سوال یہ ہے کہ QWERTY چھوڑنا چاہیے یا نہیں، تو اس motor memory کو دوبارہ بنانے میں ایک ماہ صرف کرنے سے پہلے Colemak، Dvorak اور QWERTY کا موازنہ کیسے کریں سے فیصلہ کر لیں۔

X11 میں setxkbmap اور localectl کے ساتھ Colemak سیٹ کریں

setxkbmap us -variant colemak
setxkbmap -query

اب setxkbmap -query کو variant: colemak کی اطلاع دینی چاہیے، اور کسی بھی window میں ٹائپ کرنے پر Colemak کے حروف ظاہر ہونے چاہییں۔ یہ تبدیلی X session تک برقرار رہتی ہے اور disk پر کچھ نہیں لکھتی، اس لیے ایک گھنٹے کے لیے layout آزمانے کا یہ محفوظ طریقہ ہے۔

Reboots کے بعد بھی اسے برقرار رکھنے کے لیے:

sudo localectl set-x11-keymap us pc105 colemak
localectl status

Arguments کی ترتیب پہلے layout، پھر model، اور آخر میں variant ہے۔ اب localectl status کو X11 Layout: us اور X11 Variant: colemak دکھانا چاہیے۔ localectl اس انتخاب کو قریب ترین console keymap میں بھی تبدیل کرتا ہے، الا یہ کہ آپ --no-convert شامل کریں۔ اس لیے بہت سے systems پر یہی ایک command tty پر بھی لاگو ہو جاتی ہے۔ Debian اور Ubuntu پر اس کے بعد /etc/default/keyboard چیک کریں، کیونکہ boot کے وقت console-setup اسی file کو پڑھتا ہے۔

Wayland پر Colemak فعال کریں

Wayland سیشن میں configure کرنے کے لیے X server موجود نہیں ہوتا۔ Compositor keymap لوڈ کر کے اسے ہر application تک پہنچاتا ہے، اس لیے layout کی setting compositor میں ہوتی ہے۔ اسی وجہ سے setxkbmap وہاں درست طور پر کام نہیں کرتا: یا تو اسے display نہیں ملتا، یا یہ صرف XWayland کو تبدیل کرتا ہے، جبکہ native Wayland applications اسے نظرانداز کر دیتی ہیں۔

GNOME میں یہ setting ایک gsettings key ہے:

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+colemak')]"

یہ logout کیے بغیر فوراً نافذ ہو جاتی ہے۔ string us+colemak layout اور variant کو plus sign کے ساتھ جوڑتی ہے۔

sway میں اسے ~/.config/sway/config میں شامل کریں:

input type:keyboard {
    xkb_layout us
    xkb_variant colemak_dh
}

swaymsg reload سے configuration reload کریں۔ swaymsg -t get_inputs ہر input device کو اس کے زیرِ استعمال layout کے ساتھ دکھاتا ہے۔ جب صرف ایک keyboard درست کام نہ کرے تو یہی check چلائیں۔

KDE Plasma میں System Settings کھولیں، پھر Keyboard، پھر Layouts پر جائیں، اور Colemak variant کے ساتھ English (US) شامل کریں۔

متنی console پر Colemak سیٹ کریں

console وہ plain-text tty ہے جس تک آپ Ctrl+Alt+F3 سے پہنچتے ہیں، اور یہ اپنا الگ keymap استعمال کرتا ہے۔ X11 یا compositor میں کی گئی کوئی setting یہاں لاگو نہیں ہوتی۔ یہ بات اس وقت اہم ہے جب آپ bare virtual console پر terminal workbench استعمال کرتے ہیں۔

Debian اور Ubuntu پر /etc/default/keyboard میں ترمیم کریں:

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT="colemak"
XKBOPTIONS=""

پھر اسے لاگو کریں:

sudo setupcon

تصدیق کے لیے console میں ٹائپ کریں۔ console-setup اس XKB description کو ckbcomp کے ذریعے console keymap میں تبدیل کرتا ہے۔ اس لیے ان systems پر console اور X ایک ہی description استعمال کرتے ہیں۔

ان distributions میں جو براہ راست kbd keymaps استعمال کرتی ہیں، پہلے نام معلوم کریں:

localectl list-keymaps | grep -i -e colemak -e latin9
sudo localectl set-keymap en-latin9

kbd package Colemak console map کو i386/colemak/en-latin9 کے طور پر فراہم کرتا ہے۔ اس لیے جو نام آپ عموماً pass کرتے ہیں وہ en-latin9 ہوتا ہے، colemak نہیں۔ فہرست میں موجود نام pass کریں، کیونکہ غیر موجود نام مسترد کر دیا جاتا ہے۔

sudo loadkeys en-latin9 موجودہ console کو فوراً تبدیل کرتا ہے، جبکہ sudo loadkeys us اسے واپس بحال کرتا ہے۔ loadkeys کو configuration کے بجائے test سمجھیں۔ یہ reboot تک رہتا ہے، اور Debian اور Ubuntu پر boot-time setupcon run وہ setting بحال کرتا ہے جو /etc/default/keyboard میں بیان ہو۔

کیا headless VPS کے لیے Colemak layout درکار ہے؟

تقریباً کبھی نہیں، اور اس کی وجہ سمجھنا مفید ہے۔ SSH key positions نہیں بلکہ characters منتقل کرتا ہے۔ آپ کا terminal emulator key press وصول کرتا ہے، آپ کا local layout اسے character میں تبدیل کرتا ہے، اور صرف وہی character connection کے ذریعے منتقل ہوتا ہے۔ سرور کو n موصول ہوتا ہے، مگر اسے معلوم نہیں ہوتا کہ یہ کس physical key سے پیدا ہوا ہے۔ اس لیے آپ اپنے laptop پر جو layout مقرر کرتے ہیں، وہ ہر SSH session، tmux اور remotely چلنے والے ہر editor میں آپ کے ساتھ رہتا ہے۔ Remote machine کو keyboard configuration کی ضرورت نہیں ہوتی۔

Production boxes پر keyboard files میں ترمیم شروع کرنے سے پہلے یہ بات ذہن میں رکھیں۔ اگر آپ Linux servers کے fleet کا انتظام کرتے ہیں تو layout اس machine سے متعلق ہوتا ہے جو آپ کے سامنے ہے، fleet سے نہیں۔ اس لیے اسے provisioning میں شامل کرنے کی ضرورت نہیں۔ نئے VPS پر پہلے دس منٹ اس کام سے زیادہ مفید کام کے لیے ہیں۔

دو exceptions کے لیے منصوبہ بندی ضروری ہے۔ پہلی exception خود machine سے منسلک console ہے۔ Provider panel میں موجود browser console عموماً virtual machine کے سامنے keyboard کے طور پر ظاہر ہوتی ہے۔ اس لیے key presses scancodes کی صورت میں پہنچتے ہیں، اور server کا اپنا console keymap طے کرتا ہے کہ کون سا character ظاہر ہوگا۔ یہی وہ جگہ ہے جہاں server پر مقرر کیا گیا layout مؤثر ہوتا ہے۔ SSH بند ہو جائے تو یہی آپ کا rescue path بھی ہوتا ہے، اس لیے وہاں نامکمل console keymap حقیقی خطرہ ہے۔

Serial console مختلف طریقے سے کام کرتی ہے، کیونکہ یہ characters منتقل کرتی ہے اور آپ کا local layout لاگو ہوتا ہے۔ دوسری exception shared machine ہے۔ Console keymap پورے system پر لاگو ہوتا ہے۔ اس لیے کسی ایسی box پر Colemak مقرر کرنے سے جس میں دوسرے لوگ بھی login کرتے ہوں، ان کے لیے بھی layout تبدیل ہو جائے گا۔ انہیں اس کی وجہ کا اندازہ نہیں ہوگا۔

Vim کی hjkl کلیدوں کا کیا ہوتا ہے

Colemak میں، h حرکت نہیں کرتی۔ باقی تین کرتی ہیں۔ j، QWERTY کی Y کے نیچے ہوتی ہے، k، QWERTY کی N کے نیچے ہوتی ہے، اور l، QWERTY کی U کے نیچے ہوتی ہے۔ اس لیے cursor keys چار انگلیوں کے نیچے ہونے کے بجائے تین قطاروں میں پھیل جاتی ہیں۔

اس کے دو قابلِ عمل حل ہیں، اور دونوں کے حقیقی صارفین موجود ہیں۔

default settings برقرار رکھیں اور نئی پوزیشنیں دوبارہ سیکھیں۔ آپ کے setup میں کوئی اور چیز متاثر نہیں ہوگی، ہر plugin کام کرتا رہے گا، اور دوسرے صارفین کی لکھی ہوئی ہر Vim tip آپ پر اسی طرح لاگو ہوگی جیسے لکھی گئی ہے۔

یا پھر اپنے دائیں ہاتھ کے نیچے موجود ان چار کلیدوں کو remap کریں جہاں پہلے hjkl ہوتی تھیں۔ Colemak میں ان کلیدوں سے h، n، e اور i ملتے ہیں۔ Colemak-DH میں یہی چار physical keys m، n، e اور i دیتی ہیں، کیونکہ DH نے H کو M سے بدل دیا ہے۔

noremap n j
noremap e k
noremap i l
noremap l i
noremap k n

n اب نیچے حرکت کرتی ہے، e اوپر حرکت کرتی ہے، i دائیں حرکت کرتی ہے، اور h پہلے ہی بائیں حرکت کرتی تھی۔ آخری دو سطریں ان commands کو واپس فراہم کرتی ہیں جنہیں آپ نے ہٹا دیا تھا: l insert mode شروع کرتی ہے، اور k آخری search دہراتی ہے۔ capital letters کے ساتھ بھی یہی کریں، ورنہ Shift کے ساتھ cursor key دبانے پر غیر متوقع نتیجہ ملے گا۔

Vim کا langmap option یہی کام کم سطروں میں کرتا ہے:

set langmap=nj,ek,il,li,kn

ہر pair کو اس طرح پڑھیں: پہلے وہ character جسے آپ نے type کیا، پھر وہ character جس پر Vim کو عمل کرنا چاہیے۔ یہ صرف normal mode پر لاگو ہوتا ہے، اس لیے insert mode میں Colemak متن معمول کے مطابق type ہوتا ہے۔ Vim کی اپنی help میں دو حدود درج ہیں: langmap، Ctrl یا Alt combinations پر لاگو نہیں ہوتا، اور default keys کے مطابق لکھی گئی plugin mappings اس کے تحت غیر متوقع طور پر کام کر سکتی ہیں۔

آپ جو بھی طریقہ منتخب کریں، ایک ہی بار منتخب کریں۔ ایک ماہ بعد چھوڑ دی جانے والی remap آپ سے مزید ایک ماہ ضائع کرواتی ہے۔

ٹرمینل کے شارٹ کٹس کے ساتھ کیا ہوتا ہے

ٹرمینل کا کنٹرول کوڈ طبعی کلید کے بجائے حرف سے آتا ہے، اس لیے ہر Ctrl شارٹ کٹ لے آؤٹ کے ساتھ منتقل ہوتا ہے۔ Ctrl+C، Ctrl+Z، Ctrl+X اور Ctrl+V اپنی جگہ برقرار رکھتے ہیں، کیونکہ Colemak میں Z، X، C اور V کو دانستہ طور پر QWERTY کی جگہوں پر ہی رکھا گیا ہے۔

آپ روزانہ استعمال ہونے والے چار شارٹ کٹس منتقل ہو جاتے ہیں۔ Ctrl+D، جو input ختم کرتا ہے، اب اس جگہ ہوتا ہے جہاں QWERTY میں G ہے۔ Ctrl+R، جو history search کرتا ہے، وہاں ہوتا ہے جہاں QWERTY میں S ہے۔ Ctrl+E، جو لائن کے اختتام پر لے جاتا ہے، وہاں ہوتا ہے جہاں QWERTY میں K ہے۔ Ctrl+U، جو لائن صاف کرتا ہے، وہاں ہوتا ہے جہاں QWERTY میں I ہے۔

tmux اپنا default prefix برقرار رکھتا ہے، کیونکہ Colemak میں B منتقل نہیں ہوتا۔ Colemak-DH میں B اوپری row پر منتقل ہو جاتا ہے اور prefix بھی اس کے ساتھ منتقل ہوتا ہے۔ اگر آپ VPS پر ایک طویل عرصے تک چلنے والا tmux session برقرار رکھتے ہیں تو آپ سب سے پہلے یہی تبدیلی محسوس کریں گے۔ prefix کو اپنی پسند کی کلید سے دوبارہ bind کرنا ایک سطری تبدیلی ہے، اور اسی reflex کو دو مرتبہ دوبارہ سیکھنے سے آسان ہے۔

Desktop shortcuts بھی اسی اصول پر عمل کرتے ہیں۔ Super+E کی binding layout کے ساتھ منتقل ہوتی ہے، کیونکہ اس کی تعریف حرف سے ہوتی ہے۔ Super+F1 کی binding اپنی جگہ برقرار رہتی ہے، کیونکہ function keys کو layout remap نہیں کرتا۔

تبدیلی کی قیمت آپ کو کتنے وقت میں ادا کرنی ہوگی

آپ کی رفتار کے بارے میں کوئی بھی قطعی مدت نہیں بتا سکتا۔ Touch typing حرکی یادداشت پر مبنی ہوتی ہے۔ آپ یہ نہیں سیکھ رہے کہ حروف کہاں ہیں؛ آپ اس انعکاسی عمل کو دوبارہ بنا رہے ہیں جو کسی لفظ کو انگلیوں کی ترتیب میں تبدیل کرتا ہے۔ اس لیے مددگار واحد چیز typing میں صرف کیا گیا وقت ہے۔

لوگ جو معلومات دیتے ہیں، وہ باقاعدہ پیمائش کے بجائے اپنی practice logs پر مبنی ہوتی ہیں۔ ان کے مطابق پہلے ہفتے کی رفتار عموماً پرانی رفتار کے نصف سے بھی کم ہوتی ہے، اور روزانہ استعمال کے 1 سے 3 ماہ کے اندر پرانی رفتار واپس آ سکتی ہے۔ افراد کے درمیان فرق کافی ہوتا ہے، اس لیے ان اعداد کو مقررہ schedule کے بجائے عمومی اندازہ سمجھیں۔

دو عادات اس عمل کو سست کرتی ہیں۔ دن کے دوران QWERTY اور Colemak کے درمیان بار بار تبدیل ہونے سے دونوں reflexes کمزور رہتے ہیں۔ اسی لیے زیادہ تر لوگ جو یہ تبدیلی مکمل کرتے ہیں، اپنے main machine پر ایک ہی layout مستقل طور پر استعمال کرتے ہیں۔ مصروف ہفتے کے دوران آغاز کرنے سے time pressure میں خراب typing ہوتی ہے، اور آپ keys کو نیچے دیکھنے کے عادی ہو جاتے ہیں۔

واپس جانے کا طریقہ پہلے سے تیار رکھیں، کیونکہ QWERTY کی ضرورت عین اس وقت پیش آئے گی جب کچھ خراب ہو چکا ہو اور کوئی شخص منتظر ہو۔

QWERTY پر فوری طور پر واپس کیسے جائیں

X11 میں setxkbmap us فوراً QWERTY بحال کرتا ہے۔ کنسول پر sudo loadkeys us یہی کام کرتا ہے۔ مستقل setting واپس ختم کرنے کے لیے sudo localectl set-x11-keymap us چلائیں۔

ایسے command کے بجائے toggle بہتر ہے جسے آپ ابھی اس layout میں ٹائپ ہی نہیں کر سکتے:

setxkbmap -layout us,us -variant colemak, -option grp:win_space_toggle

یہ Colemak کو پہلے layout اور plain US کو دوسرے layout کے طور پر load کرتا ہے، اور Super+Space سے دونوں کے درمیان تبدیل کیا جا سکتا ہے۔ colemak, میں آخر کا comma غلطی نہیں ہے: اس سے پہلے layout کو colemak variant ملتا ہے اور دوسرے کو کوئی variant نہیں ملتا۔ GNOME پر Settings میں دونوں input sources شامل کریں؛ وہاں Super+Space پہلے سے انہیں تبدیل کرتا ہے۔

دو password prompts آپ کے desktop session سے باہر چلتے ہیں اور ان کے لیے الگ توجہ درکار ہوتی ہے۔ Login greeter آپ کے session settings لاگو ہونے سے پہلے شروع ہوتا ہے، اس لیے setting پر بھروسا کرنے کے بجائے log out کر کے اسے آزمائیں۔ اگر disk encrypted ہے تو passphrase prompt initramfs سے چلتا ہے، جس میں keymap کی اپنی copy ہوتی ہے۔ Debian اور Ubuntu پر /etc/default/keyboard تبدیل کرنے کے بعد sudo update-initramfs -u سے اسے rebuild کریں، پھر test کے لیے ایک بار reboot کریں، جب تک آپ کے پاس machine میں داخل ہونے کا دوسرا طریقہ موجود ہو۔

کیا میں ایک پروگرام میں QWERTY برقرار رکھ سکتا ہوں؟

لے آؤٹ اس سے پہلے لاگو ہوتا ہے کہ کوئی application key کو دیکھے۔ X server یا compositor scancode کو character میں تبدیل کرتا ہے اور پھر character application کو دیتا ہے، اس لیے application کسی مختلف layout کی درخواست نہیں کر سکتی۔ یہ صرف موصول ہونے والے input کو دوبارہ map کر سکتی ہے۔ اسی لیے Vim کا حل Vim کی configuration میں ہوتا ہے، اور اسی وجہ سے کسی عام per-window layout switch کا استعمال ممکن نہیں ہوتا۔

دو طریقے کام کرتے ہیں۔ پہلا طریقہ per-device ہے۔ اگر QWERTY typing الگ keyboard پر ہوتی ہے تو layout پورے system کے بجائے اسی device پر set کریں:

xinput list
setxkbmap -device 12 -layout us

xinput list سے id حاصل کریں اور ہر keyboard پر باری باری typing کر کے تصدیق کریں۔ sway، swaymsg -t get_inputs سے ہر input identifier کے لیے یہی settings قبول کرتا ہے، اور type:keyboard کے مقابلے میں زیادہ specific selector کو ترجیح دی جاتی ہے۔

دوسرا طریقہ remap کو application کے اندر کرنا ہے، جیسا کہ Vim کا langmap کرتا ہے۔ Games میں تقریباً ہمیشہ key binding screen موجود ہوتی ہے، اور وہاں movement keys کو دوبارہ bind کرنا بیرونی طور پر layout سے لڑنے کے مقابلے میں کم وقت لیتا ہے۔ جن applications میں یہ سہولت بھی نہ ہو، ان کے لیے اوپر والا layout toggle bind کریں اور application launch کرنے سے پہلے اسے دبائیں۔

FAQ

کیا مجھے اپنے VPS پر Colemak سیٹ کرنا چاہیے؟

اگر آپ اس تک SSH کے ذریعے رسائی حاصل کرتے ہیں تو نہیں۔ SSH حروف منتقل کرتا ہے، اس لیے آپ کے laptop پر کچھ بھی بھیجنے سے پہلے layout طے ہو جاتا ہے، اور server کو وہی bytes موصول ہوتے ہیں جو QWERTY استعمال کرنے والا typist بھیجتا۔ استثنا آپ کے provider کے panel میں موجود browser console ہے، جو virtual machine کے ساتھ keyboard کے طور پر منسلک ہوتا ہے اور server کا اپنا console keymap استعمال کرتا ہے۔ SSH ناکام ہونے پر یہی console آپ کا rescue path ہوتا ہے، اس لیے اسے صرف اسی وقت تبدیل کریں جب آپ کو یقین ہو، اور SSH کے فعال رہتے ہوئے اس کی جانچ کر لیں۔

کیا مجھے Colemak یا Colemak-DH سیکھنا چاہیے؟

دونوں کے لیے QWERTY سے ایک ہی بار دوبارہ سیکھنے کی ضرورت ہوتی ہے، اس لیے migration cost کے بجائے آرام دہ استعمال کی بنیاد پر انتخاب کریں۔ Colemak-DH میں D، B اور G کی جگہیں تبدیل کی گئی ہیں اور H کو M سے بدلا گیا ہے، کیونکہ عام Colemak میں D اور H ٹائپ کرتے وقت index finger کو middle column تک پھیلانا پڑتا ہے۔ XKB variant کے نام colemak اور colemak_dh ہیں، جبکہ اضافی key کو left shift کے ساتھ رکھنے والے keyboards کے لیے colemak_dh_iso استعمال ہوتا ہے۔ اپنے system میں دستیاب variants دیکھنے کے لیے localectl list-x11-keymap-variants us | grep colemak چلائیں۔

Colemak میں Vim کی hjkl keys کے ساتھ کیا ہوتا ہے؟

h اپنی جگہ پر رہتا ہے۔ j QWERTY کے Y کے نیچے، k QWERTY کے N کے نیچے، اور l QWERTY کے U کے نیچے منتقل ہو جاتا ہے، اس لیے cursor keys تین rows میں پھیل جاتی ہیں۔ آپ ان keys کو نئی جگہ پر دوبارہ سیکھ سکتے ہیں، جس سے ہر plugin اور ہر tutorial قابل استعمال رہتا ہے، یا اپنے دائیں ہاتھ کے نیچے موجود چار keys کو remap کر سکتے ہیں: Colemak میں h، n، e اور i، اور Colemak-DH میں m، n، e اور i۔ Vim کا langmap option normal mode کے لیے یہی کام کرتا ہے، تاہم یہ Ctrl combinations پر لاگو نہیں ہوتا اور plugin mappings میں الجھن پیدا کر سکتا ہے۔

اپنی سابقہ typing speed پر واپس پہنچنے میں کتنا وقت لگے گا؟

دنوں کے بجائے ہفتوں کا وقت متوقع رکھیں، کیونکہ یہ motor memory کا معاملہ ہے اور اس کا واحد ذریعہ practice ہے۔ عام طور پر self-reported practice logs میں بتایا جاتا ہے کہ پہلے ہفتے کی رفتار سابقہ رفتار کے نصف سے بھی بہت کم ہوتی ہے، اور روزانہ استعمال کے بعد ایک سے تین ماہ میں سابقہ رفتار واپس آ جاتی ہے۔ ہر روز QWERTY اور Colemak کے درمیان تبدیل ہونے سے یہ مدت بڑھ جاتی ہے، کیونکہ کسی بھی reflex کو مستحکم ہونے کا موقع نہیں ملتا۔

میرے desktop پر setxkbmap نے کچھ کیوں نہیں کیا؟

تقریباً یقینی طور پر وجہ یہ ہے کہ session Wayland پر چل رہا ہے۔ Wayland میں compositor keymap کا مالک ہوتا ہے اور اسے ہر application تک پہنچاتا ہے، اس لیے setxkbmap یا تو display تلاش نہیں کر پاتا یا صرف XWayland میں تبدیلی کرتا ہے، جبکہ native applications اسے نظر انداز کر دیتی ہیں۔ اس کے بجائے layout کو compositor میں سیٹ کریں: GNOME میں org.gnome.desktop.input-sources gsettings key، sway config میں xkb_variant، یا KDE Plasma کے System Settings میں Layouts page استعمال کریں۔