Как сопоставить нажатие клавиши CTRL+q с событием CTRL+c?
Как сочетание клавиш Ctrl+Q может быть сопоставлено с событием Ctrl+C?
Моя клавиатура сопоставлена с programmer-dvorak, и я хотел бы, чтобы события Ctrl+X, Ctrl+C и Ctrl+V отображались на нажатия клавиш Ctrl+', Ctrl+Q, Ctrl+J соответственно.
В Mac OSX есть нечто, называемое Dvorak - Qwerty, которое делает это.
Вы также можете попробовать Dvorak - Qwerty, который использует Dvorak для набора текста, но Qwerty для сочетаний клавиш, таких как ⌘ (команда) A. Это может быть удобно, если вы запомнили общие комбинации команд, такие как ⌘X,C,V (для вырезания, копирования). вставьте) и т. д. по расположению на клавиатуре,
До сих пор я безуспешно пробовал комбинацию xbindkeys и xdotool.
#Dvorak Cut
"xdotool key --delay 0 --clearmodifiers ctrl+x"
m:0x4 + c:52
Control + apostrophe
#Dvorak Copy
"xdotool key --delay 0 --clearmodifiers ctrl+c"
m:0x4 + c:53
Control + q
#Dvorak Paste
"xdotool key --delay 0 --clearmodifiers ctrl+v"
m:0x4 + c:54
Control + j
Я также пробовал через XKB со следующими записями.
// Ctrl+' for Cut
interpret apostrophe + Ctrl {action = Redirect(Key=<AB05>, modifiers=Control);};
// Ctrl+q for Copy
interpret q + Ctrl {action = Redirect(Key=<AD08>, modifiers=Control);};
// Ctrl+j for Paste
interpret j + Ctrl {action = Redirect(Key=<AB09>, modifiers=Control);};
Но это тоже не работает.
2 ответа
Вы можете сделать это с помощью autokey-gtk
Вы можете настроить Autokey на запуск при входе в систему, и он будет находиться в фоновом режиме и контролировать ввод с клавиатуры и мыши и взаимодействовать соответственно с любыми горячими клавишами, с которыми вы предоставили ему взаимодействовать.
Пример: Вы заявили, что хотели бы сделать Ctrl+q
вести себя как Ctrl+c
, Это может быть достигнуто очень легко с помощью этой программы.
Установить autokey-gtk
введите следующую команду в терминале
sudo apt-get install autokey-gtk
После того, как вы установили это, вы можете получить к нему доступ через Dash или набрав auto-gtk
в терминале. Чтобы установить комбинации клавиш, которые вы указали выше, выполните следующие действия:
Шаг 1
Run autokey-gtk
Шаг 2
Создать новую папку верхнего уровня из File -> create -> New Top-Level Folder
Шаг 3
Выберите папку и создайте новый скрипт из File -> create -> New Script
Шаг 4
в поле "# Введите код скрипта" введите "keyboard.send_keys(shortcut you desire to imitate)"
Примеры:
1. keyboard.send_keys("<ctrl>+c")
2. keyboard.send_keys("<ctrl>+v")
3. keyboard.send_keys("<ctrl>+x")
ПРИМЕЧАНИЕ: повторите шаг 3-4 для каждой горячей клавиши, которую вы хотите добавить
Шаг 5
Для каждого скрипта, который вы сделали, нажмите на вторую "кнопку установки" рядом с Hotkey и введите комбинацию клавиш, которую вы будете использовать для имитации.
В вашем случае для keyboard.send_keys("<ctrl>+c") script
вы бы набрали q
в текстовом поле и click on the Control button
и затем нажмите ок.
*Сделайте это для каждого скрипта, конечно же, изменив вашу горячую клавишу.
Шаг 6
Click on Edit -> Preferences
Установите флажок рядом с Automatically start Autokey at Login
Это должно выполнить то, что вы просите:)
"xdotool key --delay 0 --clearmodifiers ctrl+c"
Control + q + Release
Источник: http://www.ict.griffith.edu.au/anthony/info/X/event_handling.txt(поиск "Генерирование событий клавиатуры X")