Эта xte
команда, когда я запускаю ее в терминале, запускает режим Экспо:
xte 'keydown Super_L' 'key S' 'keyup Super_L'
Однако, когда я помещаю это в мой файл .xbindkeysrc:
"xte 'keydown Super_L' 'key S' 'keyup Super_L'"
b:11
Ничего не происходит, когда я нажимаю кнопку. Следующая привязка заставляет букву X появляться в моей консоли, когда я нажимаю кнопку 11:
"xte 'key X'"
b:11
Так почему же не работает привязка Expo?
Это подробный вывод xbindkeys -n -v
при нажатии кнопки 11:
Нажатие кнопки! e.xbutton.button = 11 e.xbutton.state = 16 "xte 'keydown Super_L' 'key W' 'keyup Super_L'" m: 0x0 + b: 11 (мышь) получил экран 0 для окна 2bb Запустите программу с вызовом fork + exec Кнопка выпуска! e.xbutton.button = 11 e.xbutton.state = 16
И ничего не происходит. Это как-то связано со способом xbindkeys
выполнения команды? (ответвление + вызов exec)
Попытка номер два.
expo.sh:
#!/usr/bin/env bash
export DISPLAY=:0
xte 'keydown Super_L' 'key S' 'keyup Super_L'
Выполнение этого скрипта из командной строки активирует Expo. Связывание его в xbindkeys:
"sh ~/expo.sh"
b:11
Нажатие кнопки мыши 11:
Нажатие кнопки! e.xbutton.button = 11 e.xbutton.state = 16 "sh ~ / expo.sh" m: 0x0 + b: 11 (мышь) получил экран 0 для окна 2bb Запустите программу с вызовом fork + exec
Ничего не произошло!
xorg
shortcut-keys
xbindkeys
xte
Hubro
источник
источник
'keydown Super_L' 'keydown S' 'keyup S' 'keyup Super_L'
.Ответы:
Другое более простое решение: вместо использования «b: 11» в определении xbindkeys используйте «b: 11 + release». Он подождет, пока вы не отпустите кнопку, чтобы запустить команду.
Пример:
источник
Это очень странно. Оказывается, если моя кнопка мыши все еще нажата (еще не отпущена), когда
Super+W
симуляция нажатия клавиш не происходит, ничего не происходит. Я не знаю, кто виноват в этом (возможно, Корица?). Я обошел его, добавив небольшую задержку вxte
команду:Теперь он ждет 0,1 секунды, прежде чем имитировать
Super+S
. Если я нажму и удерживаю кнопку мыши более 0,1 секунды, ничего не происходит.Это обходной путь ответа. Я бы предпочел правильный ответ.
источник
Я столкнулся с той же проблемой.
работал в консоли, но не в файле параметров xbindkeys. Я изменил b его кодом keysym, используя команду "xev", чтобы получить его:
У меня сработало
источник
Попробуй с + Release
Это может помочь.
источник
Возникает похожая проблема при использовании sxhkcd keymapper. Оказывается, ваши настоящие горячие клавиши обнаружены как все еще нажаты.
Есть несколько обходных путей:
sleep 0.2
перед вашей командойОднако вы не можете получить действия в реальном времени с этим =)
источник