Apa itu mode keyboard mentah?

27

Dalam kombinasi tombol sysrq ajaib , ada kombinasi alt+sysrq+ryang, menurut wikipedia, melakukan hal berikut:

Ganti keyboard dari mode mentah, mode yang digunakan oleh program seperti X11 dan svgalib, ke mode XLATE

Apa itu mode mentah? dan apa itu mode XLATE?

Bisakah saya beralih kembali ke mode mentah setelah saya beralih ke mode XLATE?

Bagaimana saya tahu mode apa yang digunakan keyboard saya?

lesmana
sumber

Jawaban:

23

Ketika Anda menekan tombol pada keyboard Anda, itu mengirimkan kode numerik ke komputer, yang disebut kode pindai. Kode pindaian memberi tahu komputer tombol mana yang ditekan; misalnya, pada papan ketik AS biasa, Atombol tersebut mengirim kode pindaian 30 saat Anda menekannya (dan 158 saat Anda melepaskannya). Driver keyboard melaporkan kode-kode ini langsung ke aplikasi ketika keyboard dalam mode mentah ("raw" berarti tidak diproses, langsung dari keyboard). Beberapa program menggunakan mode mentah dan melakukan pemrosesan keyboard sendiri; yang X server yang paling satu menonjol.

Sebagian besar program mengharapkan bahwa ketika Anda menekan Atombol, program membaca karakter a(ASCII 97), dan ketika Anda menekan Shift+ Aprogram membaca A(ASCII 65), dan ketika Anda menekan Ctrl+ Aprogram membaca Ctrl+Akarakter (ASCII 1). Kunci yang tidak memiliki karakter terkait mengirimkan urutan pelarian, misalnya \e[Auntuk Left, di mana \ekarakter ESC (ASCII 27). Driver keyboard melakukan terjemahan ini ketika keyboard dalam mode ASCII, juga disebut mode XLATE (kependekan dari "translate"). Mode XLATE memungkinkan aplikasi melakukan input karakter, dengan biaya tidak memiliki akses ke nuansa seperti "Tombol Shift Kiri ditekan" atau Ctrl + Shift + A yang berbeda dari Ctrl + A.

The kbd_modememungkinkan Anda beralih di antara mode, dan menunjukkan mode saat ini jika Anda menjalankan tanpa argumen.

Kombinasi kunci SysRq ajaib dimaksudkan untuk pulih dari berbagai situasi buruk. Salah satu kombinasi kuncinya adalah Alt+SysRq+Kuntuk mematikan semua program pada konsol virtual saat ini; jika program itu meletakkan keyboard dalam mode mentah, maka Anda tidak akan bisa mengetik di prompt login (yang akan sering muncul, tergantung pada konfigurasi sistem Anda). Menekan Alt+SysRq+Rmengembalikan mode ASCII (di luar X) yang biasa di mana Anda dapat mengetikkan karakter.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
9

Anda dapat menentukan jenis kode yang dikirimkan keyboard Anda. Ini dilakukan melalui mode keyboard. Anda dapat mengubah mode papan ketik dengan kbd_mode.

Ini adalah opsi dari halaman manual:

   -s: scancode mode (RAW),
   -k: keycode mode (MEDIUMRAW),
   -a: ASCII mode (XLATE),
   -u: UTF-8 mode (UNICODE).

Jauh lebih mudah bagi pengembang untuk menangkap peristiwa penting seperti tombol shift kiri ditekan, jika ia bisa mendapatkan scancode dari tombol yang ditekan.

echox
sumber