我的左 Shift 键无法正常工作,我不知道为什么。使用左 Shift 键时,我无法将字母“c”大写,也无法执行 + ctrl
+ shift_L
。c
但是,使用右 Shift 键时,此功能可以正常工作。
我尝试过通过互换两个 Shift 键来重新映射按键。这样,左键充当右键,右键充当左键。但是,问题仍然存在。这是我当前的设置,但我将恢复为默认设置,因为它确实没有帮助:
$ xmodmap -pke | grep Shift
keycode 50 = Shift_R NoSymbol Shift_R
keycode 62 = Shift_L NoSymbol Shift_L
keycode 92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift
这是默认配置:
$ xmodmap -pke | grep Shift
keycode 50 = Shift_L NoSymbol Shift_L
keycode 62 = Shift_R NoSymbol Shift_R
keycode 92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift
这是xev
使用重新映射的输出:
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10906033, (383,267), root:(473,379),
state 0x10, keycode 50 (keysym 0xffe2, Shift_R), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10909344, (383,267), root:(473,379),
state 0x11, keycode 50 (keysym 0xffe2, Shift_R), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10914725, (383,267), root:(473,379),
state 0x10, keycode 62 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10916676, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10916898, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10916898, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10916930, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10916930, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10916961, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10916961, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10916991, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10916991, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917022, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917022, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917052, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917052, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917083, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917083, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917113, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917113, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917144, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917144, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917175, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917175, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917205, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917205, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917207, (383,267), root:(473,379),
state 0x11, keycode 54 (keysym 0x43, C), same_screen YES,
XLookupString gives 1 bytes: (43) "C"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x3800001,
root 0x13f, subw 0x0, time 10917788, (383,267), root:(473,379),
state 0x11, keycode 62 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
请注意,尽管右移键被映射为左移键,但我仍然可以使用右移键进行大写,但当左移键充当右移键时,我仍然无法这样做。我有一个全新安装的 Ubuntu 20.04.1 LTS,所以一切仍处于默认状态。键盘布局是美国的,语言也是美国的。我检查了它是否有绑定,但没有。左移键的物理状况也很好。目前,我不确定在哪里可以找到问题,因为问题似乎不是按键坏了。请指教。
还有一个问题,如果这是 gnome 特有的问题,如果我使用不同的 wm(如 i3)并完全删除 gnome,它还会存在吗?