Karena tata letak keyboard saya, saya ingin numlock ditekan secara permanen dan menggunakan tombol numlock sebagai tombol hapus. Sepertinya saya tidak bisa menjalankan ini. Setiap ide tentang cara melakukan ini akan dihargai.
Sunting:Saya menjalankan Ubuntu 16
Inilah yang saya coba:
Gunakan Xmodmap dengan numlockx
Terinspirasi dari pertanyaan ini. Pemahaman saya adalah bahwa xmodmap sudah usang, jadi ini mungkin bukan ide yang bagus.
- Buat file
~/.Xmodmap
dengan bariskeycode 77 = Delete NoSymbol
- Jalankan
xmodmap ~/.Xmodmap
- Jalankan
numlockx on
Ini memungkinkan numlock berfungsi sebagai hapus dan mengaktifkan num pad hingga pertama kali saya menekan tombol numlock. Kemudian tombol numlock menonaktifkan papan angka.
Gunakan XKB
- Edit
/usr/share/X11/xkb/symbols/us
memilikikey <NMLK> { [Delete, Num_Lock] };
di akhir peta kunci dasar. - mulai ulang komputer
juga mencoba:
- Edit
/usr/share/X11/xkb/symbols/us
untuk memilikireplace key <NMLK> { [Delete, Num_Lock] };
di akhir peta kunci dasar. - mulai ulang komputer
Ini mengalami masalah yang sama seperti metode lainnya, dapat menghapus pekerjaan, tetapi tombol numlock mematikan numpad. Tampaknya juga mengacaukan tombol lain seperti tombol windows ketika tombol angka diaktifkan. Saya suka bahwa saya mengendalikan numlock menggunakan shift+numlock. Saya tidak dapat menemukan perbedaan antara menggunakan replace dan tidak menggunakannya.
Jawaban yang Diterima:
Berikut adalah cara untuk melakukan ini hanya dengan menggunakan xkb, yang menurut saya lebih baik daripada menggunakan xmodmap. Jawaban ini mencakup lebih banyak detail tentang apa yang ingin saya capai daripada pertanyaan awal. Xmodmap dan xkb tidak selalu berjalan bersama dengan baik, pendekatan ini memungkinkan lebih banyak fleksibilitas:
Ini semua berasal dari:https://wiki.archlinux.org/index.php/X_keyboard_extension
Ada daftar keysym yang tersedia yang tampaknya berfungsi di sini:http://docs.ev3dev.org/projects/grx/en/ev3dev-stretch/c-api/input_keysyms.html
Ini dilakukan secara manual untuk memungkinkan Anda memulai dengan konfigurasi yang sudah ada di komputer Anda untuk mencegah masalah kompatibilitas dengan keyboard yang berbeda.
Contoh menjalankan ini sebelumnya dapat dilihat di config_files/linux/keyboards
Mulailah dengan menjalankan xkbcomp $DISPLAY output.xkb
untuk mendapatkan setelan
keyboard Anda saat ini.
Kemudian tambahkan:
interpret osfLeft{
repeat= True;
action = RedirectKey(keycode=<LEFT>, clearmodifiers=Lock);
};
interpret osfRight{
repeat= True;
action = RedirectKey(keycode=<RGHT>, clearmodifiers=Lock);
};
interpret osfDown{
repeat= True;
action = RedirectKey(keycode=<DOWN>, clearmodifiers=Lock);
};
interpret osfUp{
repeat= True;
action = RedirectKey(keycode=<UP>, clearmodifiers=Lock);
};
interpret osfEndLine{
repeat= True;
action = RedirectKey(keycode=<END>, clearmodifiers=Lock);
};
interpret osfBeginLine{
repeat= True;
action = RedirectKey(keycode=<HOME>, clearmodifiers=Lock);
};
interpret osfEscape{
repeat=True;
action = RedirectKey(keycode=<ESC>, clearmodifiers=Lock);
};
ke bagian kompatibilitas file yang dihasilkan.
Terkait:Menginstal Program di Root vs Partisi Rumah di Ubuntu?Di bagian bawah bagian jenis, tambahkan:
type "CUST_CAPSLOCK" {
modifiers= Shift+Lock;
map[Shift] = Level2; // Note that this maps Shift only of {Shift,Lock} to Level2. Alt+Shift will be mapped to Level2
map[Shift+Lock] = Level3; // but Lock+Shift won't map to Level2 even without this line.
map[Lock] = Level3;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
level_name[Level3]= "Lock";
};
interpret osfDelete{
repeat=True;
action = RedirectKey(keycode=<DELE>, clearmodifiers=Lock);
};
Telusuri interpret Caps_Lock
dan ubah LockMods
ke SetMods
jadi caps lock cuma set modifiernya aja, bukan lock.
Untuk mengizinkan capslock + WASD berfungsi sebagai tombol panah:edit tombol <AD02>
, <AC01>
, <AC02>
, <AC03>
untuk mengetik CUST_CAPSLOCK
dan masing-masing memiliki osfUp
, osfLeft
, osfDown
, osfRight
di posisi ketiga.
Untuk mengizinkan capslock + HJKL berfungsi sebagai tombol panah:edit tombol <AC06>
, <AC07>
, <AC08>
, <AC09>
untuk mengetik CUST_CAPSLOCK
dan masing-masing memiliki osfLeft
, osfDown
, osfUp
, osfRight
di posisi ketiga.
Untuk mengizinkan capslock + 0 untuk mendaftar sebagai rumah dan capslock + $ untuk mendaftar sebagai akhir:edit kunci <AE04>
dan <AE10>
untuk mengetik CUST_CAPSLOCK
dan masing-masing memiliki osfEndLine
dan osfBeginLine
di posisi ketiga.
Untuk mengizinkan capslock + spasi untuk mendaftar sebagai escape (berguna untuk vim) edit kunci <SPCE>
untuk mengetik CUST_CAPSLOCK
, memiliki space
di posisi kedua dan osfEscape
di posisi ketiga.
Untuk mengubah kunci numlock menjadi kunci hapus dan membuat capslock + numlock buat <NMLK>
ketik CUST_CAPSLOCK
, memiliki posisi satu dan dua memiliki osfDelete
dan posisi tiga memiliki Num_Lock
Sekarang unggah file yang diubah kembali ke server dengan:xkbcomp output.xkb $DISPLAY
.
Jika semuanya berfungsi, letakkan file di suatu tempat, ~/.Xkeymap
bekerja dan membuat skrip misalnya bernama ~/start_keyboard.sh
dengan:
#!/bin/bash
xkbcomp ~/.Xkeymap $DISPLAY
Jadikan itu dapat dieksekusi (chmod u+x ~/start_keyboard.sh
) dan tambahkan skrip ke aplikasi startup Anda.