Panduan Praktis ckbcomp Ubuntu: Konfigurasi Keymap Konsol Linux

Pengantar

Saat berhadapan dengan lingkungan virtual console (TTY) di Linux, tata letak papan ketik berbasis XKB yang lazim digunakan pada desktop grafis tidak dapat dibaca secara langsung oleh kernel. Di sinilah utilitas ckbcomp memegang peranan krusial untuk mengompilasi definisi XKB menjadi format tabel keymap yang siap dikenali konsol. Artikel ini menyajikan panduan langsung tanpa kerumitan man page: membedah sintaks dasar ckbcomp, menangani penyesuaian tata letak regional, memetakan ulang tombol fungsional seperti menukar CapsLock dan Control, hingga memuat konfigurasinya secara instan menggunakan loadkeys.

1. Memasang Utilitas dan Memeriksa Hasil Kompilasi Tata Letak US

Sebelum melakukan konversi dan penerapan skema keyboard di lingkungan konsol, sistem operasi Ubuntu membutuhkan paket pendukung tertentu. Jalankan instalasi paket console-setup, kbd, serta pangkalan data definisi keyboard xkb-data.

Instalasi paket console-setup, kbd, dan xkb-data via apt

Fungsi utama perintah ckbcomp adalah membaca skema XKB lalu menerjemahkannya ke dalam sintaks pemetaan yang kompatibel dengan utilitas loadkeys. Kita dapat menguji proses kompilasi untuk tata letak standar Amerika Serikat (us) dan membatasi tinjauannya sebanyak 30 baris awal lewat penyaring head -n 30.
⚙️ [Opsi Penting]

-model : Menentukan varian perangkat keras keyboard fisik (misalnya pc105 atau pc104).
-variant : Menetapkan ragam susunan spesifik di luar standar (seperti dvorak atau colemak).
-option : Menambahkan aturan penyesuaian fungsi khusus XKB (contohnya ctrl:nocaps).
-charmap : Menentukan standar pengodean karakter yang dihasilkan (seperti UTF-8 atau ISO-8859-1).
-compact : Mengurangi volume berkas dengan mereduksi definisi tombol ganda.
-freebsd : Mengompilasi tabel tata letak khusus untuk subsistem konsol FreeBSD.

Melihat 30 baris awal hasil kompilasi keymap standar US

2. Mengonfigurasi Model Perangkat (-model) dan Varian Regional (-variant)

Untuk menyesuaikan perangkat keras bertipe 105 tombol dengan tata letak bahasa Korea, sertakan parameter -model pc105 bersama opsi tata letak -layout kr. Struktur baris keluaran memperlihatkan perincian kode tombol (keycode), nilai karakter Unicode yang dipetakan, serta perilaku tombol saat dipadukan dengan kombinasi penekanan tombol pengubah.

Kompilasi layout Korea dengan model pc105

Ketika berurusan dengan tata letak bahasa Jerman (-layout de), kita dapat mengabaikan penanganan karakter aksen komposit dengan mengaktifkan variasi -variant nodeadkeys. Opsi ini menonaktifkan fungsi dead keys, sehingga penekanan tombol tanda aksen langsung mencetak simbol terkait secara instan tanpa menunggu pengetikan huruf berikutnya.

Kompilasi keymap Jerman varian nodeadkeys

3. Modifikasi Tombol Khusus: Mengubah Perilaku CapsLock Menjadi Control

Untuk mempermudah kombinasi perintah di terminal tanpa meregangkan jari, opsi -option ctrl:nocaps dapat digunakan agar fungsi tombol CapsLock digantikan sepenuhnya oleh tombol Control. Ketika berkas hasil kompilasi dipindai menggunakan grep untuk mencari deklarasi Caps_Lock, terminal tidak mengembalikan entri apa pun karena simbol tersebut telah ditiadakan dari tabel pemetaan.

Verifikasi peniadaan simbol Caps_Lock menggunakan grep

Jika preferensi Anda adalah menukar peran kedua tombol tanpa menghilangkan salah satunya, gunakan opsi -option ctrl:swapcaps. Pada hasil penyaringan baris perintah, tampak jelas bahwa keycode 29 (yang semula merupakan Control kiri) kini dialokasikan untuk fungsi Caps_Lock, menandakan bahwa pertukaran posisi tombol kendali berhasil disusun.

Pemeriksaan pertukaran posisi Caps_Lock dan Control

4. Menyimpan Berkas Hasil Kompilasi dan Menerapkannya Melalui loadkeys

Langkah berikutnya adalah mengekspor definisi tombol ke dalam media penyimpanan. Buat direktori khusus untuk menampung seluruh berkas keymap melalui instruksi mkdir -p ~/keymaps.

Membuat direktori penyimpanan keymap

Kompilasi tata letak US dengan konfigurasi tombol CapsLock yang dialihfungsikan menjadi Control, kemudian alihkan aliran data (>) langsung ke dalam berkas ~/keymaps/custom_us.map.

Mengarahkan hasil kompilasi ke berkas custom_us.map

Agar penyimpanan sistem berjalan efisien dan sesuai dengan konvensi penanganan konsol, kompresi berkas tersebut menggunakan perintah gzip -fk ~/keymaps/custom_us.map tanpa menghapus berkas mentah aslinya.

Mengompresi berkas keymap dengan gzip

Periksa status kedua berkas tersebut di sistem file dengan mengeksekusi ls -lh ~/keymaps/custom_us.map*. Dari hasil pengecekan, terlihat bahwa berkas teks berukuran sekitar 120 KB berhasil dipadatkan secara signifikan menjadi sekitar 4.0 KB setelah proses kompresi.

Memeriksa ukuran berkas teks dan hasil kompresi

Langkah terakhir adalah memuat konfigurasi baru tersebut langsung ke virtual console aktif lewat perintah sudo loadkeys ~/keymaps/custom_us.map. Perintah ini dieksekusi secara instan tanpa hambatan peringatan, dan pemetaan baru—di mana CapsLock bertindak sebagai Control—langsung aktif bekerja pada konsol virtual Linux Anda.

Menerapkan keymap baru ke konsol aktif dengan sudo loadkeys

Melalui panduan ini, kita telah membedah kepraktisan perintah ckbcomp dalam menjembatani tata letak XKB modern ke arsitektur konsol virtual Ubuntu. Dengan menerapkan langkah-langkah ringkas ini, Anda dapat merancang serta menerapkan tata letak keyboard kustom di lingkungan terminal server tanpa perlu berkutat dengan penjelasan man page yang berbelit-belit.