Как создать сочетание клавиш для эмуляции определенного нажатия клавиши (не команды)?

Как создать сочетание клавиш для эмуляции определенного нажатия клавиши (не команды)?

DeleteЯ использую Ubuntu 19.10 на Mac, и поэтому на моей клавиатуре нет соответствующей клавиши .

Чтобы эмулировать эту клавишу, я могу нажать Fn+ Backspace, но я хотел бы выбрать другую комбинацию клавиш, например Super+ Backspace. Возможно ли это?

решение1

Это сделает работу:

Во-первых:отредактируйте файл XKB /usr/share/X11/xkb/symbols/pc, выполнив следующую команду в терминале:

sudo nano /usr/share/X11/xkb/symbols/pc

Во-вторых:найдите эту строку:

key <BKSP> {    [ BackSpace, BackSpace  ]   };

И закомментируйте его, добавив //перед ним следующее:

//key <BKSP> {  [ BackSpace, BackSpace  ]   };

В-третьих:Скопируйте и вставьте следующий код под закомментированной строкой вво-вторыхвыше:

key <BKSP> {
    type= "PC_SUPER_LEVEL2",
    symbols[Group1]=  [ BackSpace, Delete ]
};

И сохраните файл.

В-четвертых:очистите кэш XKB, выполнив следующую команду в терминале:

sudo rm -rf /var/lib/xkb/*

Окончательно:перезагрузите систему, чтобы активировать новую конфигурацию xkb, или перезагрузите новую конфигурацию xkb, настроив макет карты xkb с помощью следующей команды в терминале:

setxkbmap -layout us

и проверьте новую комбинацию клавиш.


Это решение должно заставить нажатие Super+ Backspaceработать как нажатие Deleteклавиши.

Чтобы изменить комбинацию на Shift+, Backspace вы можете изменить PC_SUPER_LEVEL2на PC_SHIFT_LEVEL2вв-третьих выше.

решение2

Команда может эмулировать определенное нажатие клавиши. Один из способов сделать это — создать пользовательскую комбинацию клавиш для запускаxdotool(источник) наНастройки > Клавиатура > Пользовательские сочетания клавиш:

Скриншот

решение3

Нет, это невозможно сделать в целом, Fnэто нельзя рассматривать как еще один ключ, согласно этомуотвечать:

На самом деле это Fnне совсем сопоставимо. Это аппаратная клавиша, которая не взаимодействует напрямую с операционной системой. Нажатие Fnи другой клавиши приводит к отправке совершенно другого кода в операционную систему.
Примерами этого являются XF86AudioMute, XF86Eject и т. д. Операционная система не может определить, Fnнажата она или нет.

Я думал, что это возможно с помощью gnome-tweaksпакета, внутри:

Клавиатура и мышь->Дополнительные параметры макета

но нет, вы можете определить поведение для каждой специальной клавиши (от базовой Ctrlдо старой Meta), но поскольку Fnэто не программная клавиша, вы не можете изменить ее функцию.

Вы можете создать специальную комбинацию клавиш для этой Deleteэмуляции, но для этого потребуется команда.

Связанный контент