我正在使用 Debian 测试/Stretch 和 Xfce。我刚买了这个有线键盘。我希望默认打开数字锁,但我不想让 LED 指示灯亮起。这可以通过完全禁用数字锁定指示器、反转状态(当数字锁定关闭时显示指示灯)来实现,或者可以将所有数字锁定关闭键重新映射为键入数字(这样我可以当指示灯打开或关闭时键入数字)。setleds -L -num
有效,但仅在 tty 会话中有效。谢谢
答案1
您可以反转 Num Lock 的含义。使用 Xmodmap,将其放入您的.Xmodmap
.
keycode 79 = KP_Home KP_7 KP_Home KP_7 KP_Home KP_7 KP_Home KP_7
keycode 80 = KP_Up KP_8 KP_Up KP_8 KP_Up KP_8 KP_Up KP_8
keycode 81 = KP_Prior KP_9 KP_Prior KP_9 KP_Prior KP_9 KP_Prior KP_9
keycode 83 = KP_Left KP_4 KP_Left KP_4 KP_Left KP_4 KP_Left KP_4
keycode 84 = KP_Begin KP_5 KP_Begin KP_5 KP_Begin KP_5 KP_Begin KP_5
keycode 85 = KP_Right KP_6 KP_Right KP_6 KP_Right KP_6 KP_Right KP_6
keycode 87 = KP_End KP_1 KP_End KP_1 KP_End KP_1 KP_End KP_1
keycode 88 = KP_Down KP_2 KP_Down KP_2 KP_Down KP_2 KP_Down KP_2
keycode 89 = KP_Next KP_3 KP_Next KP_3 KP_Next KP_3 KP_Next KP_3
keycode 90 = KP_Insert KP_0 KP_Insert KP_0 KP_Insert KP_0 KP_Insert KP_0
keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Decimal KP_Delete KP_Decimal KP_Delete KP_Decimal
您可能需要添加xmodmap ~/.Xmodmap
到启动应用程序中,我不确定 Xfce 是否默认这样做。
这样做的好处是,大多数时候,您不会打开 NumLock。一些程序在使用 NumLock 时遇到问题,因为它们认为它是一个修饰符,这会导致它们的键盘快捷键在它打开时不起作用。
如果您从未关闭 NumLock,则可以在使用时禁用 NumLock 键。
keycode 77 = NoSymbol
如果你喜欢痛苦,你可以使用XKB来代替。这是我的配置,它有效地使 NumLock 始终打开。创建一个文件,~/.xkb/types/mytypes
其中包含
// Digits without NumLock, cursor with NumLock. Shift swaps the meaning.
// Do it this way because I almost always want digits, but the NumLock state
// breaks key bindings in some applications.
partial xkb_types "invert_numlock" {
type "KEYPAD" {
modifiers = Shift+NumLock;
map[None] = Level2;
map[Shift] = Level1;
map[NumLock] = Level1;
map[Shift+NumLock] = Level2;
level_name[Level1] = "Base";
level_name[Level2] = "Number";
};
include "extra(keypad)"
};
创建一个包含以下内容的文件~/.xkb/symbols/mysymbols
:
partial xkb_symbols "mykeypad" {
key <KP7> { [ KP_7, KP_Home ] };
key <KP8> { [ KP_8, KP_Up ] };
key <KP9> { [ KP_9, KP_Prior ] };
key <KP4> { [ KP_4, KP_Left ] };
key <KP5> { [ KP_5, KP_Begin ] };
key <KP6> { [ KP_6, KP_Right ] };
key <KP1> { [ KP_1, KP_End ] };
key <KP2> { [ KP_2, KP_Down ] };
key <KP3> { [ KP_3, KP_Next ] };
key <KP0> { [ KP_0, KP_Insert ] };
key <KPDL> { [ KP_Decimal, KP_Delete ] };
};
运行以下 shell 命令作为 X 初始化启动的一部分(setxkbmap
根据需要向调用添加其他选项):
setxkbmap -types "complete+mytypes(invert_numlock)" \
-symbols "us+compose(menu)+mysymbols(mykeypad)" \
-print | xkbcomp -I ~/.xkb - "$DISPLAY"
答案2
如果“数字锁定默认打开”意味着“默认情况下数字键盘上的按键”并且您不希望/不关心键盘上的导航:
setxkbmap -option numpad:mac <layout>
所以对于us
布局:
setxkbmap -option numpad:mac us
现在,无论数字锁定状态如何,小键盘始终输入数字。
答案3
每次发出命令时,您都可以关闭 X11 中的 LED
xset -led named "Num Lock"
或者尝试明确的数字,例如xset -led 3
.