Jadi ceritanya laptop yang biasa dipakai untuk bekerja mulai bermasalah. Salah satunya masalah di papantik alias keyboard. Salah satu kunci (key) di keyboard, yakni tombol panah kanan tiba-tiba saja tak bisa digunakan, padahal fungsinya cukup signifikan. Untunglah ada setxkbmap.
Dari hasil googling, ternyata penggunaan xmodmap
sudah tidak disarankan lagi. Bahkan berkas konfigurasi .xmodmap
katanya tidak akan dibaca sama sistem. Padahal -masih dari hasil googling- katanya penggunaan xmodmap
cukup mudah untuk memetakan ulang tombol di keyboard. Beruntung ada xkb
dan kawan-kawannya.
Terus bagaimana caranya? Mudah saja. Pertama, siapkan direktori .xkb/keymap
dan .xkb/symbols
. Mari gunakan terminal untuk membuatnya.
~: $ mkdir -p .xkb/keymap ~: $ mkdir -p .xkb/symbols
Setelah itu, simpan konfigurasi letak keyboard kita pada berkas mykbd
menggunakan setxkbmap
.
~: $ setxkbmap -print > ~/.xkb/keymap/mykbd
Sekarang mari buat berkas konfigurasi swapnya. Di sini, saya menggantikan tombol panah kanan (RGHT) dengan Menu yang jarang digunakan. Ya daripada mubazir ya. Misalkan konfigurasinya dinamakan myswap
, dan disimpan di direktori .xkb/symbols
.
~: $ nano .xkb/symbols/myswap
Oh iya, untuk mengetahui tombol mana dipetakan ke mana, kita bisa manfaatkan aplikasi xev
atau lihat konfigurasi di /usr/share/X11/xkb/symbols/pc
. Kalau kita gunakan xev
, lalu tekan tombol atas (Up), maka keluarannya seperti ini.
KeyRelease event, serial 37, synthetic NO, window 0x2400001, root 0x105, subw 0x0, time 4532783, (430,108), root:(530,271), state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False
Masalahnya kan tombol kanannya rusak, jadi susah cari keycodenya apa. Jadi mending intip berkas konfig xkb saja. Contohnya seperti ini.
$ less /usr/share/X11/xkb/symbols/pc | grep Right key{ [ Right ] }; $ less /usr/share/X11/xkb/symbols/pc | grep Menu key
Dari sana ketahuan bahwa tombol kanan simbolnya RGHT
, dan Menu simbolnya MENU
. Kita gunakan informasi ini di berkas myswap
. Mari kita tukar keduanya.
partial modifier_keys xkb_symbols "swap_right_menu" { replace key <RGHT> { [ Menu ] }; replace key <MENU> { [ Right ] }; };
Selesai? Tentu saja belum. Agar konfigurasi ini bisa dipakai, sekarang kita edit berkas mykbd
, dan tambahkan konfigurasi swap_right_menu
di bagian xkb_symbols
. Jadinya seperti ini.
xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+us:2+inet(evdev)+terminate(ctrl_alt_bksp)+myswap(swap_right_menu)" }; xkb_geometry { include "pc(pc105)" }; };
Jika sudah, lakukan langkah terakhir, yakni menjalankan perintah agama xkbcomp
.
~: $ xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY
Jika tidak ada halangan, rintangan dan cobaan seharusnya tidak ada error, cuma warning saja. Tapi kalau masih ada error, coba periksa lagi, apakah ada saltik atau tidak. Contoh error seperti ini:
$ xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY syntax error: line 3 of myswap last scanned symbol is: RIGHT Error: Error interpreting include file "myswap" Exiting Abandoning symbols file "(null)" Error: success in unknown Couldn't write keyboard description to :0
Di situ, saya salah tulis simbol untuk tombol kanan. Seharusnya RGHT, bukan RIGHT. Silakan edit lagi berkas mykbd
atau myswap
-nya, lalu jalankan lagi perintah xkbcomp
di atas.
$ xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY Warning: Key <OUTP> not found in evdev+aliases(qwerty) keycodes Symbols ignored Warning: Key <KITG> not found in evdev+aliases(qwerty) keycodes Symbols ignored Warning: Key <KIDN> not found in evdev+aliases(qwerty) keycodes Symbols ignored Warning: Key <KIUP> not found in evdev+aliases(qwerty) keycodes Symbols ignored ...
Seharusnya kali ini tidak ada error, cuma warning. Jika begitu, selamat! Untuk sementara kamu belum perlu beli keyboard baru 😐
Selamat mencoba. Hidup Linux!
One response to “Ganti tata letak keyboard dengan setxkbmap”
[…] saya lakukan berhasil? Ternyata tidak. Saat dinyalakan, ternyata kibor laptop bermasalah. Tepatnya, masalahnya bertambah. Kali ini yang error adalah kunci bawah. Tidak seperti msalah kunci kanan yang […]