Baru-baru ini saya membeli keyboard dengan lampu latar yang dirancang sedemikian rupa sehingga tombol Scroll Lock digunakan untuk menghidupkan kembali lampu belakang. Saya dengan cepat menemukan bahwa Cinnamon tidak merespons dengan benar ketika tombol Scroll Lock ditekan. Awalnya, saya pikir lampu latar keyboard adalah DOA karena semuanya bekerja di luar kotak. Setelah reboot saya menemukan bahwa sebelum meluncurkan Xorg saya berhasil mengubah lampu latar menggunakan tombol Scroll Lock. Kemudian, sekali lagi, setelah memulai Xorg (dan akibatnya cinnamon_session), fungsi ini berhenti berfungsi sekali lagi.
Agar lampu latar berfungsi setelah meluncurkan Xorg, saya terpaksa mengeluarkan: xset led named "Scroll Lock"
untuk mengaktifkan dan menonaktifkan fungsi ini.
Setelah sedikit riset saya menemukan sebuah program bernama xev
yang membuang informasi acara utama ke terminal setelah dimulai. Setelah menekan tombol Scroll Lock, terminal diisi dengan informasi ini:
Acara KeyPress, serial 34, NO sintetik, jendela 0x2c00001, root 0x2df, subw 0x0, waktu 2609824, (410,0), root: (1724.142), sebutkan 0x0, kode kunci 78 (keysym 0xff14, Scroll_Lock), same_screen YES, XLookupString memberikan 0 byte: XmbLookupString memberikan 0 byte: XFilterEvent mengembalikan: Salah
Acara KeyRelease, serial 37, NO sintetik, jendela 0x2c00001, root 0x2df, subw 0x0, waktu 2609912, (410,0), root: (1724.142), sebutkan 0x0, kode kunci 78 (keysym 0xff14, Scroll_Lock), same_screen YES, XLookupString memberikan 0 byte:
Jadi saya tahu acara utama sedang dikirim ke kernel.
Yang menarik, saya mengamati perilaku aneh ketika berada di terminal (masih sebelum meluncurkan Xorg atau Cinnamon) dan menggunakan Scroll Lock. Yaitu, pada titik ini lampu latar saya berganti-ganti seperti yang diharapkan, tetapi ketika Scroll Lock diaktifkan, tidak ada yang saya ketikkan ditulis ke layar. Setelah menonaktifkan Scroll Lock, semua yang saya tulis segera dibuang ke terminal seolah-olah sebelumnya buffer.
tl; dr Apa masalahnya dengan Scroll Lock dan Xorg?