Tujuan:
Saya ingin menetapkan Alt ke tombol CapsLock, dan Meta ke tombol Alt. Tetapi dengan cara seperti itu, Alt-key tidak lagi dikenali sebagai Alt, dan CapsLock-key tidak lagi dikenali sebagai CapsLock.
openSUSE 11.4
Sebelumnya:
openSUSE 11.1 - karena saya adalah satu-satunya pengguna komputer saya, saya "cukup" mengedit file / usr / share / X11 / xkb / keycodes / xfree86 dan bekerja tanpa masalah. Kunci disambungkan ke simbol mereka di tingkat terendah.
Masalah:
xkb
Saya membuat varian tata letak Polandia (pl_ext) yang (untuk pengujian) terdiri dari entri tersebut:
key <CAPS> { [ Alt_L ] }; modifier_map Mod1 { Alt_L, Alt_R };
Namun ini tidak melakukan apa-apa, tombol CapsLock di xev dikenali (simbol) sebagai Alt_L, tetapi ketika saya menekan tombol CapsLock berperilaku seperti CapsLock (misalnya dengan asumsi Anda memiliki File di menu, Alt + F harus membuka menu ini, itu tidak + ).
Pertanyaan: Bagaimana cara mendefinisikan file layout untuk mengatur CapsLock-key sebagai Alt, dan Alt-key sebagai Meta?
Sunting: Setengah sukses di sini! Sekarang saya punya entri:
key <CAPS> { [ Alt_L ] }; modifier_map Mod1 { <CAPS> }; // this is a difference
dan ini berfungsi seperti yang diinginkan. Ini tidak:
key <LALT> { [ Meta_L ] } ; key <RALT> { [ Meta_R ] } ; modifier_map Mod5 { <LALT>,<RALT> };
Alt-keys dikenali sebagai Meta by xev, tetapi saya masih dapat membuka menu dengan Alt + F, mengganti windows, dan saya tidak seharusnya. Dan di sisi lain saya tidak bisa memasukkan karakter nasional apa pun, dan saya harus.
xfree86
Tapi sekarang ini tidak berfungsi, saya kira tabel file lain dibaca bukan xfree86.
Pertanyaan: Bagaimana cara mengetahui file tabel kode kunci yang digunakan oleh sistem (X / Gnome)?
Sunting: Pilihan terbaik bagi saya - mengedit tabel kode kunci - diselesaikan dengan jawaban macias !
xmodmap
Setengah sukses di sini. Bagian ini berfungsi seperti yang diinginkan:
hapus Lock = Caps_Lock keysym Caps_Lock = Alt_L
Sekarang, saya memiliki tombol CapsLock benar yang dipetakan ke Alt. Tapi ini:
keysym Alt_L = Meta_L
... melakukan hal yang aneh. xev menunjukkan bahwa Alt-key dipetakan ke Meta, tetapi ketika saya menekan Alt + F (ini harus dipetakan ke Meta + F -> tidak melakukan apa-apa) menu File dibuka. Terlebih lagi, ketika saya menekan Alt + Tab, saya mendapatkan window-switcher (saya seharusnya tidak - Alt adalah Meta sekarang).
Pertanyaan: Bagaimana cara "menghapus" perilaku lama untuk Alt-key?
Sunting: Bagian ini diselesaikan oleh jawaban Gilles .
Ringkasan:
Menjawab pertanyaan apa pun (semoga) menyelesaikan masalah saya, namun saya lebih suka menggunakan xkb sepenuhnya karena saya kemudian dapat mengemas semua file untuk xkb dan mengubah tata letak di satu tempat. Terima kasih sebelumnya atas bantuannya!
Jawaban:
(Jawaban ini hanya tentang xmodmap. Saya yakin ini mungkin dilakukan dengan XKB, saya hanya tidak tahu caranya.)
Modifiers dan keyyms ditugaskan secara independen. Tetapi Anda mendapatkan efek aneh jika Anda tidak mengaturnya secara konsisten. Saya pikir semua yang Anda lewatkan adalah
add
perintah untuk menetapkan pengubahMeta_L
, meskipun Anda mungkin juga perlu menghapus dan menetapkan kembali kunci pengubah. Anda dapat menggantiMod1
danMod2
denganMod3
,Mod4
danMod5
: mereka dapat dipertukarkan, pastikan Anda tidak menggunakannya untuk dua tujuan yang berbeda.sumber
keysym Caps_Lock = Alt_L
adalah jika Anda menjalankannya dua kali, ini akan mengembalikan sistem ke kondisi yang tidak diinginkan. Itu sebabnya saya menggunakan kode kunci ; mereka berbeda antara sistem operasi dan arsitektur (bukan antara keyboard), tetapi tidak sering.Mengedit pendekatan kode kunci
Saya menemukan jawabannya di forum Ubuntu Polandia. Sekarang orang tidak mengedit file "xfree86" tetapi file "evdev". Dengan cara ini Anda dapat membuat perubahan permanen yang berfungsi untuk semua tata letak.
Contoh (berdasarkan permintaan Gilles) - masuk sebagai root, buka
buat cadangan file "evdev", lalu edit. Ubah kode sesuai keinginan Anda, misalnya dalam kasus saya:
Anda dapat menemukan kode-kode itu dengan menjalankan perintah "xev", tetapi Anda cukup melihat file "evdev" yang asli.
Logout, masuk, nikmati keyboard baru Anda :-).
sumber
Keyboard Preferences
opsi untukCapslock
menimpaXKB
konfigurasi kustom yang saya tulis. Karena ini adalah tombol radio pilih, tidak ada cara yang bisa saya lihat untuk menghentikan salah satu aturan dari GUI agar tidak diterapkan.coba ini:
perhatikan dua definisi level. Itu karena default untuk LALT adalah [Alt_L, Meta_L]; jika Anda tidak mendefinisikan kembali yang kedua, itu akan tetap menjadi Meta_L.
Lihatlah jawaban ini di xkb untuk cara mendefinisikan kembali beberapa kunci tanpa perlu mengedit file default utama (dengan demikian, tidak perlu menjadi root). Dalam kasus seperti itu, Anda perlu membuat bagian simbol di bagian kecil sebagai:
sumber