У мене є проблема. Я хотів перезаписати кілька гарячих клавіш, до яких я звик із попередньої системи, але я не можу змусити його працювати належним чином xbindkeys
.
xbindkeys
розпізнає комбінацію, але якось команда не спрацьовує.
Якщо я використовую команду
xdotool key braceleft
Він видає мені правильний {
знак на консолі. Однак якщо я використовую ту саму команду в xbindkeys, нічого не станеться. Якщо я заміню команду на firefox
неї, вона працює належним чином і відкриває firefox, тож я думаю, xbindkeys
працює.
Я хочу досягти наступного:
Я хочу набрати символу {
в активне вікно або
Alt_R+, 7або Alt_Left+ Ctrl+, 7щоб я міг використовувати обидва. Я знаю, що Alt_R(AltGr) - це правильний спосіб, але на німецьких клавіатурах важко набрати брекет-клавішу за допомогою AltGrклавіші (Alt_R), тому я МАЮ використовувати замість цього Alt_L+ Control+ 7(як я звик у попередній системі). Я якось змусив його працювати належним чином у 12.04, але я не можу змусити його працювати в 14.04.
Будь-які пропозиції? Я спробував кілька команд. Усі вони працювали в консолі, але жоден з них не працював при виконанні xbindkeys
xdotool type '{'
xdotool key braceleft
xdotool key ISO_Level3_Shift+7
xvkbd -xsendevent -text '{'
xvkbd -xsendevent -text '\[Alt_R]+7'
Це моя конфігурація, яка не працюватиме
"xdotool key braceleft"
Control+Alt + 7
Однак це працює:
"firefox"
Control+Alt + 7
Рішення Правка
Коли я спробував ще кілька речей, я помітив, що xdotool, здається, спрацьовує занадто рано. Я змінив конфігурацію так:
"sleep 1 && xdotool type --delay 15 '{'"
Control+Alt + 7
ЗАРАЗ він надсилає правильний знак {активне вікно. Тепер залишається лише скоротити сон і затримати до працездатного значення, адже 1 секунда здається трохи задовгою :)
** Інформація про доповнення ** Ну, тепер мені вдалося знайти відповідні значення. ЯКЩО це працює, лише якщо ви відпустите клавіші, поки не закінчиться час сну. Якщо ви занадто повільні, якщо не вийде.
Це моя поточна конфігурація для всіх незручних німецьких символів AltGr
"sleep 0.2 && xdotool type --delay 15 '{'"
Control+Alt + 7
"sleep 0.2 && xdotool key --delay 15 at"
Control+Alt + q
"sleep 0.2 && xdotool type --delay 15 '€'"
Control+Alt + e
"sleep 0.2 && xdotool type --delay 15 '['"
Control+Alt + 8
"sleep 0.2 && xdotool type --delay 15 ']'"
Control+Alt + 9
"sleep 0.2 && xdotool type --delay 15 '}'"
Control+Alt + 0
"sleep 0.2 && xdotool type --delay 15 '~'"
Control+Alt + plus
Однак якщо ви хочете ввести кілька знаків @ (наприклад), вам потрібно натиснути Ctrl + Alt + Q за призначенням, але відпустити всі клавіші, а потім натиснути його ще раз. Це, однак, набагато краще, ніж не мати опції Control + Alt замість AltGr, але це не так ефективно, як я був використаний. Можливо, я знайду рішення і для цього.
xdotool
повторити клавішу, утримуючи її?
xdotool getactivewindow key Home