Você pode inverter o significado de Num Lock. Com o Xmodmap, coloque isso no seu .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
Você pode precisar adicionar xmodmap ~/.Xmodmap
aos seus aplicativos de inicialização, não tenho certeza se o Xfce faz isso por padrão.
Fazer isso dessa maneira tem a vantagem de, na maioria das vezes, você não ter o NumLock ativado. Alguns programas têm problemas com o NumLock porque eles consideram que ele é um modificador e isso faz com que seus atalhos de teclado não funcionem quando ele está ativo.
Se você nunca desativar o NumLock, poderá desabilitar a tecla NumLock enquanto estiver nela.
keycode 77 = NoSymbol
Se você gosta de dor, você pode usar o XKB. Aqui está minha configuração que efetivamente torna o NumLock sempre ligado. Crie um arquivo ~/.xkb/types/mytypes
contendo
// 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)"
};
Crie um arquivo ~/.xkb/symbols/mysymbols
contendo:
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 ] };
};
Execute o seguinte comando shell como parte de sua inicialização do X (adicione outras opções à chamada setxkbmap
conforme desejado):
setxkbmap -types "complete+mytypes(invert_numlock)" \
-symbols "us+compose(menu)+mysymbols(mykeypad)" \
-print | xkbcomp -I ~/.xkb - "$DISPLAY"