Как сопоставить нажатие клавиши 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")

Другие вопросы по тегам