Вы можете инвертировать значение 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 ] };
};
Выполните следующую команду оболочки как часть запуска инициализации X (при необходимости добавьте другие параметры к вызову setxkbmap
):
setxkbmap -types "complete+mytypes(invert_numlock)" \
-symbols "us+compose(menu)+mysymbols(mykeypad)" \
-print | xkbcomp -I ~/.xkb - "$DISPLAY"
Шрифт Consolas был разработан с намеками, которые плохо смотрятся в некоторых механизмах рендеринга.
Единственный способ обойти это — как-то изменить другой шрифт:
Если вашим приложениям специально требуется шрифт Consolas, единственный вариант — переименовать любой шрифт в Consolas, а затем использовать его.