Saya memiliki keyboard model M kunci IBM 122 vintage yang saya beradaptasi untuk digunakan pada komputer modern. Saya menggunakan Teensy 2.0 untuk melakukan pengodean dan untuk menangani sisi USB. Saya meminjam firmware dari proyek keyboard Humble Hacker ( https://github.com/humblehacker/keyboard ) dan saya menambahkan kunci tambahan di build config. Sejauh ini baik.
Semua kunci "biasa" bekerja, tetapi kernel tampaknya menjatuhkan kunci tambahan ( F13-F24 , dll.).
Lari /lib/udev/keymap -i input/event0
menunjukkan kode pindai semua kunci normal, tetapi tidak ada untuk kunci tambahan.
Berjalan wireshark
untuk menangkap paket port USB menunjukkan bahwa keyboard sedang mengirim kode pindai, tetapi sepertinya kernel hanya menjatuhkannya pada prinsipnya.
Saya merasa ini adalah sesuatu di driver kernel yang tidak memberikan kode pindaian yang tidak diharapkan.
Saya akan berpikir bahwa akan ada semacam peta kunci "master" dalam beberapa .h
file di sumber kernel di suatu tempat, tetapi sejauh ini, saya belum berhasil dalam upaya saya untuk menemukannya.
Perlu ditekankan bahwa saya tidak bertanya tentang memetakan kunci tambahan dalam X, seperti banyak orang lain sebelum saya. Ini adalah masalah tingkat rendah, tampaknya terkait dengan kernel. Asumsikan untuk saat ini bahwa saya tidak akan menggunakan X sama sekali. Yang saya butuhkan adalah agar kode pindaian muncul ketika saya menjalankan /lib/udev/keymap -i
, saya dapat melakukan sisanya dari sana.
evtest
bukannya /lib/udev/keymap -i
, apakah itu akan berbeda.