У моего ноутбука нет numpad, даже тех, в которых он активирован клавишей FN.
Когда я использовал окна, я использовал AutoHotkey со сценарием, который я заменил ключами QWEASDZXC на 789456123, и если я хочу отключить его, просто нужно ввести F12.
Есть ли способ сделать это в Linux?
Я могу придумать пару способов сделать это с XKB, но это не для слабонервных.
Создайте пользовательский символ, который добавит ваши номера в «level3» или «level5» выбранных вами ключей. (AltGr - это клавиша ISO_Level3_Shift, используемая в неамериканских или американских шаблонах для символов). Обычно эти клавиши действуют как Shift - вам придется удерживать их, пока вы вводите цифры. Но ваш новый вариант может заставить их действовать скорее как CapsLock, если это необходимо. Такой вариант затем переопределит привязки по умолчанию для этих букв для добавления чисел.// emulate numpad on first 3 columns of alphabetic keys
// initial key definitions from /usr/share/X11/xkb/symbols/us
// ("intl" stanza)
partial
xkb_symbols "qweasdzxc" {
// numbers on level3 (RightAlt chooses lv3)
include "level3(ralt_switch)"
key <AD01> { [ q, Q, 7, division ] };
key <AD02> { [ w, W, 8, multiply ] };
key <AD03> { [ e, E, 9, minus ] };
// etc ...
// OR ...
// numbers on level5 (RightCtrl chooses lv5)
include "level5(rctrl_switch)"
key <AD01> { [ q, Q, adiaeresis, Adiaeresis, 7, division ] };
key <AD02> { [ w, W, aring, Aring, 8, multiply ] };
key <AD03> { [ e, E, eacute, Eacute, 9, minus ] };
// etc ...
}; // end "qweasdzxc"
// rules to load this as an option
! option = symbols
lv3:qweasdzxc = +filename(qweasdzxc)
// load from commandline. may need -I/path/to/custom/xkb
setxkbmap -layout us -option lv3:qweasdzxc
Сделайте пустой макет, который испускает только эти числа на этих клавишах и других буквенно-цифровых символов. Когда вы загружаетесь в качестве второго макета, у вас должен быть предопределенный ключ переключателя макета и он будет использовать это для переключения между вашим основным макетом и этим. Опять же, клавиша переключателя компоновки может быть сконфигурирована как Shift (только макеты коммутатора в режиме ожидания) или CapsLock. // emulate numpad on first 3 columns of alphabetic keys
// leave other alphanumeric keys undefined
// otherwise from /usr/share/X11/xkb/symbols/us (basic stanza)
default partial alphanumeric_keys modifier_keys
xkb_symbols "qweasdzxc" {
name[Group1]= "Numpad Emulation";
key <AD01> { [ 7, division ] }; // q
key <AD02> { [ 8, multiply ] }; // w
key <AD03> { [ 9, minus ] }; // e
key <AC01> { [ 4, F ] }; // a
key <AC02> { [ 5, E ] }; // s
key <AC03> { [ 6, D ] }; // d
key <AB01> { [ 1, C ] }; // z
key <AB02> { [ 2, B ] }; // x
key <AB03> { [ 3, A ] }; // c
// hexadecimal just for fun, replace if desired
}; // end "qweasdzxc"
// rules to load this as a layout
! layout = symbols
qweasdzxc = qweasdzxc
// load from commandline. may need -I/path/to/custom/xkb
setxkbmap -layout us,qweasdzxc -option grp:caps_toggle
Любой из этих параметров может быть реализован путем изменения файлов системы XKB в /usr/share/X11/xkb/{symbols,rules} или путем сохранения ваших настроек в локальных файлах конфигурации XKB. Изменения в системных файлах могут быть уничтожены обновлением до пакета xkeyboard-config, но более легки в использовании с инструментами настройки макета системы, такими как /etc/default/keyboard или демоном настроек GNOME.
Я могу придумать пару способов сделать это с XKB, но это не для слабонервных.
Создайте пользовательский символ, который добавит ваши номера в «level3» или «level5» выбранных вами ключей. (AltGr - это клавиша ISO_Level3_Shift, используемая в неамериканских или американских шаблонах для символов). Обычно эти клавиши действуют как Shift - вам придется удерживать их, пока вы вводите цифры. Но ваш новый вариант может заставить их действовать скорее как CapsLock, если это необходимо. Такой вариант затем переопределит привязки по умолчанию для этих букв для добавления чисел.// emulate numpad on first 3 columns of alphabetic keys
// initial key definitions from /usr/share/X11/xkb/symbols/us
// ("intl" stanza)
partial
xkb_symbols "qweasdzxc" {
// numbers on level3 (RightAlt chooses lv3)
include "level3(ralt_switch)"
key <AD01> { [ q, Q, 7, division ] };
key <AD02> { [ w, W, 8, multiply ] };
key <AD03> { [ e, E, 9, minus ] };
// etc ...
// OR ...
// numbers on level5 (RightCtrl chooses lv5)
include "level5(rctrl_switch)"
key <AD01> { [ q, Q, adiaeresis, Adiaeresis, 7, division ] };
key <AD02> { [ w, W, aring, Aring, 8, multiply ] };
key <AD03> { [ e, E, eacute, Eacute, 9, minus ] };
// etc ...
}; // end "qweasdzxc"
// rules to load this as an option
! option = symbols
lv3:qweasdzxc = +filename(qweasdzxc)
// load from commandline. may need -I/path/to/custom/xkb
setxkbmap -layout us -option lv3:qweasdzxc
Сделайте пустой макет, который испускает только эти числа на этих клавишах и других буквенно-цифровых символов. Когда вы загружаетесь в качестве второго макета, у вас должен быть предопределенный ключ переключателя макета и он будет использовать это для переключения между вашим основным макетом и этим. Опять же, клавиша переключателя компоновки может быть сконфигурирована как Shift (только макеты коммутатора в режиме ожидания) или CapsLock. // emulate numpad on first 3 columns of alphabetic keys
// leave other alphanumeric keys undefined
// otherwise from /usr/share/X11/xkb/symbols/us (basic stanza)
default partial alphanumeric_keys modifier_keys
xkb_symbols "qweasdzxc" {
name[Group1]= "Numpad Emulation";
key <AD01> { [ 7, division ] }; // q
key <AD02> { [ 8, multiply ] }; // w
key <AD03> { [ 9, minus ] }; // e
key <AC01> { [ 4, F ] }; // a
key <AC02> { [ 5, E ] }; // s
key <AC03> { [ 6, D ] }; // d
key <AB01> { [ 1, C ] }; // z
key <AB02> { [ 2, B ] }; // x
key <AB03> { [ 3, A ] }; // c
// hexadecimal just for fun, replace if desired
}; // end "qweasdzxc"
// rules to load this as a layout
! layout = symbols
qweasdzxc = qweasdzxc
// load from commandline. may need -I/path/to/custom/xkb
setxkbmap -layout us,qweasdzxc -option grp:caps_toggle
Любой из этих параметров может быть реализован путем изменения файлов системы XKB в /usr/share/X11/xkb/{symbols,rules} или путем сохранения ваших настроек в локальных файлах конфигурации XKB. Изменения в системных файлах могут быть уничтожены обновлением до пакета xkeyboard-config, но более легки в использовании с инструментами настройки макета системы, такими как /etc/default/keyboard или демоном настроек GNOME.
Я могу придумать пару способов сделать это с XKB, но это не для слабонервных.
Создайте пользовательский символ, который добавит ваши номера в «level3» или «level5» выбранных вами ключей. (AltGr - это клавиша ISO_Level3_Shift, используемая в неамериканских или американских шаблонах для символов). Обычно эти клавиши действуют как Shift - вам придется удерживать их, пока вы вводите цифры. Но ваш новый вариант может заставить их действовать скорее как CapsLock, если это необходимо. Такой вариант затем переопределит привязки по умолчанию для этих букв для добавления чисел.// emulate numpad on first 3 columns of alphabetic keys
// initial key definitions from /usr/share/X11/xkb/symbols/us
// ("intl" stanza)
partial
xkb_symbols "qweasdzxc" {
// numbers on level3 (RightAlt chooses lv3)
include "level3(ralt_switch)"
key <AD01> { [ q, Q, 7, division ] };
key <AD02> { [ w, W, 8, multiply ] };
key <AD03> { [ e, E, 9, minus ] };
// etc ...
// OR ...
// numbers on level5 (RightCtrl chooses lv5)
include "level5(rctrl_switch)"
key <AD01> { [ q, Q, adiaeresis, Adiaeresis, 7, division ] };
key <AD02> { [ w, W, aring, Aring, 8, multiply ] };
key <AD03> { [ e, E, eacute, Eacute, 9, minus ] };
// etc ...
}; // end "qweasdzxc"
// rules to load this as an option
! option = symbols
lv3:qweasdzxc = +filename(qweasdzxc)
// load from commandline. may need -I/path/to/custom/xkb
setxkbmap -layout us -option lv3:qweasdzxc
Сделайте пустой макет, который испускает только эти числа на этих клавишах и других буквенно-цифровых символов. Когда вы загружаетесь в качестве второго макета, у вас должен быть предопределенный ключ переключателя макета и он будет использовать это для переключения между вашим основным макетом и этим. Опять же, клавиша переключателя компоновки может быть сконфигурирована как Shift (только макеты коммутатора в режиме ожидания) или CapsLock. // emulate numpad on first 3 columns of alphabetic keys
// leave other alphanumeric keys undefined
// otherwise from /usr/share/X11/xkb/symbols/us (basic stanza)
default partial alphanumeric_keys modifier_keys
xkb_symbols "qweasdzxc" {
name[Group1]= "Numpad Emulation";
key <AD01> { [ 7, division ] }; // q
key <AD02> { [ 8, multiply ] }; // w
key <AD03> { [ 9, minus ] }; // e
key <AC01> { [ 4, F ] }; // a
key <AC02> { [ 5, E ] }; // s
key <AC03> { [ 6, D ] }; // d
key <AB01> { [ 1, C ] }; // z
key <AB02> { [ 2, B ] }; // x
key <AB03> { [ 3, A ] }; // c
// hexadecimal just for fun, replace if desired
}; // end "qweasdzxc"
// rules to load this as a layout
! layout = symbols
qweasdzxc = qweasdzxc
// load from commandline. may need -I/path/to/custom/xkb
setxkbmap -layout us,qweasdzxc -option grp:caps_toggle
Любой из этих параметров может быть реализован путем изменения файлов системы XKB в /usr/share/X11/xkb/{symbols,rules} или путем сохранения ваших настроек в локальных файлах конфигурации XKB. Изменения в системных файлах могут быть уничтожены обновлением до пакета xkeyboard-config, но более легки в использовании с инструментами настройки макета системы, такими как /etc/default/keyboard или демоном настроек GNOME.