Bermain dengan xmodmap
saya temui tombol pengubah Saya tidak pernah mendengar: Mode_switch
. Tampaknya ada hubungannya dengan memasukkan karakter khusus.
Saya menugaskannya ke kunci tetapi tampaknya tidak berpengaruh. Untuk apa ini? Apakah berbeda dengan ISO_Level3_Shift
(Alt Gr) ?
Jawaban:
Mode_switch
adalah nama gaya lama (pra-XKB) dari tombol yang dipanggil AltGrpada banyak tata letak keyboard. Ini mirip dengan Shift, di mana ketika Anda menekan tombol yang sesuai dengan karakter, Anda mendapatkan karakter yang berbeda jika Shiftatau AltGrjuga ditekan. Tidak seperti ituShift
,Mod_switch
bukan pengubah dalam arti X11 karena biasanya berlaku untuk karakter, bukan untuk tombol fungsi, sehingga aplikasi hanya perlu melakukan pencarian karakter untuk mendapatkan efek yang diinginkan.ISO_Level3_Shift
adalah versi XKB dari kunci ini. Secara umum, XKB jauh lebih rumit dan dapat melakukan beberapa hal ekstra mewah. Mekanisme XKB lebih umum karena memungkinkan tata letak keyboard bervariasi di mana tombol dipengaruhi oleh pengubah mana, itu menggeneralisasikan sticky ( CapsLock-style) dan Shiftpengubah simultan ( -style) dan sebagainya.sumber
ISO_Level3_Shift
dapat bertindak 'lengket', saya sudah lama mencari fungsi itu: unix.stackexchange.com/questions/39014/…AltGr
danMode_switch
kunci yang sama? Jika tidak, di tautan ini , mereka terdengar seolah-olah sama. Bisakah Anda memperjelas ini sedikit?Mode_switch
danISO_Level3_Shift
lakukan hal yang sama dengan cara yang sedikit berbeda. Saya tidak mengklaim memahami perbedaan; sebagian besar waktu mereka tidak masalah tetapi saya ingat bahwa menggabungkan xmodmap dengan nama XKB kadang-kadang menyebabkan pengubah tidak berfungsi dengan benar.us(cz_sk_de)
fitur atau dengan pemetaan xmodmap kustom untuk beberapa tombol (koma misalnya) tergantung pada apakahAltGr
iniMode_switch
atauISO_Level3_Shift
tapi tidak bisa mendapatkan kedua fitur pada waktu yang sama.CapsLock
gaya. Kunci lengket disebut "kait" dan kunci-kunci disebut kunci. Sticky keys dilepaskan setelah non-modifier berikutnya ditekan ketika kunci terkunci berlaku sampai mereka ditekan lagi.Jawaban ini tidak dimaksudkan untuk bertentangan dengan jawaban @Gilles, tetapi dimaksudkan untuk menggambarkan aspek lain dari penanganan input xkb yang saya rasa "kurang penerangan" dalam jawabannya.
Anda dapat menggunakan keduanya
ISO_Level3_Shift
(Alt-Gr) danMode_switch
pada saat yang sama dengan hasil yang berbeda . Ini memerlukan beberapa konfigurasi, tetapi Anda dapat memiliki keduanya, dan menggunakannya untuk menghasilkan 6 tombol berbeda per tombol keyboard fisik!Anda dapat mengkonfigurasikan Tabmenjadi
Mode_switch
ketika dipegang dengan xcape ⌂ dan xmodmap , lalu mis. Kunci berlabel "H" pada keyboard dapat menghasilkan karakter / tombol berikut:h
H
← (Cursor)
← (Symbol)
┘
┐ with H
with ShiftH
with AltGrH
with AltGrShiftH
with TabH
with TabShiftH
Jadi, untuk kembali ke pertanyaan Anda:
IL3S
danMode_switch
dapat dikonfigurasi untuk mengartikan hal-hal yang berbeda, sehingga Anda dapat memiliki kunci kursor dan ~ 200 karakter yang berguna dari bahasa (aksen), kotak gambar, dan karakter teknis yang ditetapkan pada 35 tombol dari baris 3 huruf.Untuk mencapai hal di atas:
contoh untuk H:
sumber
fn: A → B
.ISO_Level5_Shift
. Ini menghasilkan 8 level, yang ke-7 sedanglvl3+lvl5+H
& c.Mode_shift
di Xkb adalah tombol shift untuk grup atau tata letak. Jika Anda memiliki tata letak dengan beberapa grup, Anda dapat menahan tombol ini untuk mengakses grup berikutnya. Jika Anda memiliki beberapa tata letak, Anda dapat menahan tombol ini untuk bergeser di antara tata letak († 1).Begitu
Mode_shift
juga untuk mengelompokkan apa Shift(atauShift_L
danShift_R
, menggunakan nama keysym) ke level.Ini mungkin menjadi lebih jelas jika kita menganggapnya
Mode_shift
memiliki alias yang disebutISO_Group_Shift
(† 2). Ada juga kunci yang dipanggilISO_Group_Latch
danISO_Group_Lock
yang sesuai denganISO_Level2_Latch
(latch shift) danShift_Lock
, masing-masing († 3).Ada juga sejumlah alias untuk skrip yang berbeda:
kana_switch
Arabic_switch
Greek_switch
Hebrew_switch
Hangul_switch
† 1: Ini berdasarkan pada pemahaman saya tentang "kelompok" dan "tata letak" Xkb. Tampaknya mereka diperlakukan sama sejauh memilih di antara mereka dengan kunci seperti ini.
† 2: Saya mendasarkan ini pada file
keysymdef.h
di repositori Git ini di revisi ab8666661fc6 (“Tambah XF86XK_AudioPreset”, 2017-05-10). Pada instalasi Anda mungkin akan menemukan file ini di/usr/include/X11/keysymdef.h
.† 3: Ada juga kunci
ISO_Lock
, sejenis kunci untuk keperluan umum.Arti
AltGr
kuncinyaGilles disebutkan dalam jawabannya sehubungan dengan AltGrkunci:
Itu membuat saya curiga bahwa "AltGr" mungkin berarti "kelompok pengganti / alternatif", karena
Mode_switch
digunakan untuk menggeser kelompok. Namun ternyata ini salah. Menurut halaman Wikipedia pada AltGrtombol , "AltGr" tampaknya berasal dari keyboard IBM, dan dalam manualnya dikatakan bahwa itu adalah singkatan untuk "grafis alternatif". Ini masuk akal, karena tampaknya menggunakan keyboard untuk menggambar "grafik" (karakter kotak-gambar yang digunakan dalam antarmuka pengguna teks) datang dengan baik sebelum ada dukungan yang baik untuk beralih dengan cepat antara beberapa skrip.sumber