Aktifkan num-lock sebagai default di Linux

11

Ada pertanyaan serupa - tetapi IMHO harus ada solusi yang lebih sederhana. Jika num-lock aktif di BIOS - mengapa dimatikan saat boot linux dan / atau KDE / Gnome / startup apa pun?

Nils
sumber

Jawaban:

9

Linux menginisialisasi sebagian besar periferal sehingga mereka akan berada dalam kondisi yang dikenal. Ini termasuk keyboard: Data internal Linux tentang keyboard lebih cocok dengan LED, jadi yang dilakukan Linux adalah mematikan LED (sejauh yang saya ingat, CPU tidak bisa membaca keadaan LED pada keyboard PC) dan nyatakan semua * Kunci tidak aktif.

Saya suka NumLock aktif secara default. Untuk konsol teks Linux, yang biasa saya lakukan¹ adalah menjalankan

for t in /dev/tty[0-9]*; do setleds -D +num <$t; done

dari skrip boot ( /etc/rc.localatau /etc/init.d/50_local_setledsatau di mana pun distribusi suka menempatkannya).

Saat ini, setidaknya pada beberapa distribusi seperti Debian, Anda dapat menambahkan LEDS=+numuntuk /etc/console-tools/config(atau /etc/kbd/configtergantung pada mana yang Anda miliki).

Sistem X window memiliki penanganan keyboard sendiri, jadi Anda harus menghadapinya secara terpisah. Apa yang saya lakukan adalah untuk menonaktifkan caps lock secara permanen (saya tidak memiliki tombol Caps Lock di tata letak saya) dan mengaktifkan num lock secara permanen (Saya tidak memiliki kunci Num Lock di layout saya, dan tombol keypad mengirim KP_1dan sebagainya). Jika Anda ingin mempertahankan pengubah tetapi tetap mengaktifkan Num Lock, Anda dapat menulis sebuah program kecil untuk memanggil XKbLockModifiersuntuk mengatur pengubah di dalam X dan XChangeKeyboardControluntuk mengatur LED fisik.

¹ Dulu, karena saya belum pernah repot-repot dengan konsol teks dalam beberapa saat.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Anda menyebutkan konsol - apakah tidak ada opsi kernel untuk numlock di kernel-linux lama? 0.x atau 1.y? Lagi pula - apakah tidak ada opsi-Xconfig untuk numlock?
Nils
@Nils Mmmm mungkin, saya tidak ingat. Saya tidak berpikir ada sesuatu untuk X, tapi saya belajar tentang keyboard di X sebelum XKB ada, jadi saya mungkin kehilangan beberapa barang bermodel baru dari akhir abad ke-20.
Gilles 'SO- stop being evil'
1
Saya akan menambahkan catatan bahwa pada Debian, pengaturan numlock setelah boot dilakukan oleh kbdpaket yang membuat skrip init kbd.
carandraug
1
@Rodrigo Sistem operasi dapat mengetahui status kunci. Apa yang tidak dapat diketahui, sejauh yang saya tahu, adalah status LED - ia hanya dapat mengingat apakah itu yang terakhir menyalakan atau mematikan LED, tetapi itu tidak bekerja pada perubahan sistem operasi (mis. BIOS → bootloader → Linux).
Gilles 'SANGAT berhenti menjadi jahat'
1
@Rodrigo Pertanyaan itu berkaitan dengan aplikasi yang memperoleh informasi dari sistem operasi. Bagian yang Anda perdebatkan adalah bagaimana sistem operasi akan mendapatkan informasi.
Gilles 'SANGAT berhenti menjadi jahat'