Сочетания клавиш, независимые от раскладки клавиатуры

25

Есть ли способ определить связь конкретной физической клавиши клавиатуры с каким-либо действием, независимо от буквы, с которой эта клавиша связана в любой раскладке?

Пример : в большинстве сочетаний клавиш Gnome по умолчанию нажатие Alt+ Ctrl+ Tоткрывает терминал. Но только в латинской раскладке клавиатуры. Выполнение того же физического действия в греческом формате не работает, так как ассоциированная буква является тогда «греческим T» , а не «латинским T» .

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

Решением может быть определение одной и той же ассоциации для одного и того же ключа во всех макетах, которые он использует, но тогда нужно будет сделать это для всех сочетаний клавиш, поэтому это решение плохо масштабируется.

Serxio
источник

Ответы:

20

Я часто переключаюсь между английской и греческой раскладками, и некоторое время это было небольшим раздражением. Ваш вопрос подтолкнул меня к его решению, так что спасибо!

Я нашел программу , которая может сделать это: xbindkeys. Процедура, которой я следовал (адаптированный отсюда ):

  1. Установить xbindkeys. На моем Debian это сделано с

    sudo apt-get install xbindkeys
    

    Вы также должны быть в состоянии установить достаточно легко с эквивалентом yum installили pacman -Sили какой - либо команды.

  2. Создайте файл настроек по умолчанию:

    xbindkeys --defaults > `~/.xbindkeysrc`
    
  3. Получите правильные коды клавиш для ваших ключей. Запустите xbindkeys -kи нажмите нужный ярлык. С моей клавиатурой , по крайней мере (хотя это должно быть стандартным), xbindkeys -kсообщает , что CtrlTявляется

    m:0x14 + c:28
    Control+Mod2 + t
    
  4. Создайте соответствующий ярлык, добавьте эти строки в ~/.xbindkeysrc:

    "xterm"
     m:0x14 + c:28
    
  5. Беги xbindkeys. Ярлык теперь работает даже в греческом макете. Чтобы сделать это постоянным, добавьте это в свой ~/.Xsession:

    xbindkeys
    
Тердон
источник
1
xbindkeys делает то, что мне нужно. И да, по умолчанию это Alt + Ctr + T, а не Ctrl + T. Я исправил вопрос. Мне интересно, почему Gnome выбрал переписку с буквами, а не с кодами клавиш
serxio
1
@serxio возможно, коды клавиш меняются на разных клавиатурах? Или вы можете переназначить вещи так, чтобы Gnome называл ключ по имени, чтобы не было путаницы, если вы сопоставили Ctrl с Alt или чем-то еще? Trexa gyreye.
Тердон