大写输入定期打开

大写输入定期打开

我有一些问题。每隔 3-5 秒,我从键盘输入的所有内容都会变成大写仅有的。我还有两种键盘布局:我们UA。当发生大写时 - 我无法切换键盘布局(我使用 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)

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

==更新==为了A#1
看,有粘性的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

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

答案1

您的钥匙很可能Shift被卡住了。尝试按下并释放您的Shift键(如果您有左键和右键,则两者都可以)。如果您没有注意到其他按键被卡住,这很可能是硬件问题。

当问题发生时,运行xterm -e xev(您可能需要准备好图标或菜单条目,以便xev只需单击鼠标即可启动)。当您按下xev窗口中的某个键时,您将看到类似的输出

KeyPress event, serial 32, synthetic NO, window 0x3000001,
    root 0xa5, subw 0x0, time 201838723, (221,316), root:(232,403),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

state 0x0意味着没有修饰符。降低修饰符后Shift,您会看到state 0x1. Lock(又名大写锁定)修饰符是state 0x2;更一般地,当多个修饰符向下时,您将看到修饰符的按位掩码(例如,state 0x5如果您同时向下Shift(1)和Ctrl(4))。如果问题仍然存在,请告诉我们输出如何xev偏离您的预期。

答案2

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

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

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

相关内容