Xbindkeys не будут работать должным образом

У меня была одна и та же проблема, но я заметил, что после запуска команды

sudo apt-get remove nvidia-*

, которая ничего не изменила (даже после перезагрузки) , появились старые ненужные пакеты, и после удаления их с помощью команды

sudo apt-get autoremove

и перезагрузки все было правильно, рабочий стол загружается, как ожидалось.

1
задан 26 April 2014 в 18:40

3 ответа

Как я пробовал еще несколько вещей, я заметил, что 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, но это не так эффективно, как и я был использован. Может быть, я найду решение для этого тоже.

3
ответ дан 24 May 2018 в 08:35
  • 1
    Это очень странно, я рад, что вы это сделали, но я действительно не могу понять, почему это происходит. В любом случае, спасибо за то, что потратили время, чтобы опубликовать это, это может помочь следующему человеку с той же проблемой. – terdon♦ 27 April 2014 в 02:31

Как описано в похожих вопросах (почему эти команды xte работают в терминале, но не при привязке к xbindkeys?), вы можете запросить xbindkeys инициировать события при выпуске (при нажатии клавиши):

Таким образом, между ключами, используемыми для ярлыка и отправленных, нет конфликта.

2
ответ дан 24 May 2018 в 08:35

Не знаю, почему это не работает с xbindkeys, я предполагаю, что вам нужно указать окно для записи. В качестве обходного пути вы можете использовать xvkbd вместо этого.

Установить xvkbd
sudo apt-get install xvkbd
Добавить это в ваш .xbindkeysrc файл
"xvkbd -text '{'"
Control+Alt + 7

Это должно сработать.

ПРИМЕЧАНИЯ

По какой-то причине на моей машине xvkbd использует один из моих дополнительных макетов (испанский) вместо моего основного (US Русский), и это приводит к тому, что { на самом деле печатает ". Если у вас также есть эта проблема, просто поиграйте немного, чтобы узнать, какая клавиша соответствует { с использованием макета. Альтернативно, вы можете копать глубже и выяснить, где xvkbd получает свои настройки locale.

1
ответ дан 24 May 2018 в 08:35
  • 1
    все еще не работает. даже с соответствующими символами. если я пишу xvkbd -text «apple» в консоли, он печатает яблоко, если я выполняю его с помощью xbindkeys, ничего не происходит. если я посмотрю на xbindkeys -v, он увидит, что он распознал нажатую команду – Ello 26 April 2014 в 18:05
  • 2
    я получил его на работу, но с чем-то еще – Ello 26 April 2014 в 18:15
  • 3
    @Ello отлично! Что вы использовали? Это сработало для меня. Не могли бы вы отправить ответ, объяснив ваше решение и принять его? – terdon♦ 26 April 2014 в 18:17
  • 4
    Я изменил свой пост, я не могу ответить на свои вопросы, потому что у меня нет репутации. сожалею – Ello 26 April 2014 в 18:20

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

Похожие вопросы: