大写输入定期打开

Den*_* P. 5 keyboard keyboard-layout

我有一些问题。每 3-5 秒,我从键盘输入的所有内容都变为大写。我也有两种键盘布局:usua。当出现大写时 - 我无法切换键盘布局(我使用 mod4 进行切换)。

这是我的 xmodmap 输出:

$ xmodmap
xmodmap:  up to 3 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)
Run Code Online (Sandbox Code Playgroud)

我试过了xmodmap -e "clear lock",但大写输入仍然会定期打开。我试图以“硬件方式”禁用 Caps Lock 键,在键盘触点之间放置绝缘体。但我没有帮助。

== 更新 ==对于A#1
Look,有粘性 Caps_Lock:

KeyPress event, serial 40, synthetic NO, window 0x2a00001,
    root 0xaa, subw 0x0, time 30893676, (-254,229), root:(384,359),
    state 0x2, keycode 39 (keysym 0x53, S), same_screen YES,
    XLookupString gives 1 bytes: (53) "S"
    XmbLookupString gives 1 bytes: (53) "S"
    XFilterEvent returns: False
Run Code Online (Sandbox Code Playgroud)

我在做什么?首先,我运行florence(虚拟键盘)并关闭 Caps_Lock 键。其次,我输入:xmodmap -e "clear lock"。但这是非常肮脏的黑客:),你知道。它可以工作几分钟或几个小时。

Den*_* P. 1

我插入了 USB 键盘。在 GRUB 菜单中,我添加到内核字符串中:(i8042.nokbd在 之后quiet)。

另外,如果您需要在工作时关闭笔记本键盘,请使用xinput

  • 首先执行xinput list,然后找到带有 的行AT Translated Set 2 keyboard
  • 然后xinput list-props 'AT Translated Set 2 keyboard'或使用 id (例如 14) xinput list-props 14
  • 查找Device Enabled和/xinput set-prop 'AT Translated Set 2 keyboard' 'Device Enabled' 0或使用 id xinput set-prop 14 134 0