Как я могу сопоставить Super + UpArrow с PageUp?

Я хотел бы отобразить

  • Super + UpArrow на PageUp

  • Супер + DownArrow до PageDown

  • Супер + влево до дома

  • Супер + справа to End

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

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

12
задан 27 October 2011 в 22:42

2 ответа

попытайтесь редактировать свое/usr/share/X11/xkb/symbols/pc определение клавиатуры

(это изменит Вашу привязку глобально, если Вы захотите что-то более точно настроенное, существует еще некоторая работа, чтобы сделать, как создание пользовательской контурной карты или пользовательского варианта),

поскольку Вы видите здесь:

key  {        [  Prior                ]       };
key  {        [  Next                 ]       };

поскольку Вы видите, что ключевой PGUP связывается с "Предшествующим". В то время как:

 key  {        [  Left                 ]       };
 key  {        [  Down                 ]       };

ОСТАВЛЕННЫЙ и ВНИЗ ключи связываются с "Левым" и "Вниз".

Часть между скобками [ ] список символов, которые будут сгенерированы. Можно поместить больше чем один. Первый является символом, связанным с неизмененным ключом, в то время как другие положения для символов, связанных с ключом + некоторый модификатор.

Обычно это используется для определения поведения ключа плюс модификатор "SHIFT":

  key  {        [         l,    L               ]       };
  key  {        [ semicolon,    colon           ]       };

Но также и другие модификаторы могут быть указаны, например, в карте эсперанто (epo):

  key   { [ jcircumflex,  Jcircumflex,  bracketleft,   braceleft  ] };
  key   { [ hcircumflex,  Hcircumflex,  bracketright,  braceright ] };

Вы можете тип a [символ путем ввода AltGr + ключ ([включают нас контурная карта), и {Shift+AltGr + ключ.

Пока все хорошо. Последовательность, которую мы можем понять от рассмотрения некоторых простых примеров:

plain shift altgr shift+altgr


Однако мы хотим смочь связать наш ЛЕВЫЙ И ПРАВЫЙ ключ к плоскости и модификаторам CTRL+ALT. Как достигнуть этого?

Я понятия не имею, и никогда не пробуемый, но я взял бы вдохновение от/usr/share/X11/xkb/symbols/pc:

xkb_symbols "function" {
    key  {
        type="CTRL+ALT",
        symbols[Group1]= [ F1,  XF86_Switch_VT_1 ]
    };

Возможно, мы можем сделать то же самое для наших клавиш со стрелками. Давайте попытаемся добавить следующие строки:

 key  { type="CTRL+ALT", symbols[Group1]= [  Left, Prior                ]       };
 key  { type="CTRL+ALT", symbols[Group1]= [  Down, Next                 ]       };

Чуть ниже исходных определений ЛЕВЫХ и ВНИЗ, в нижней части файла 'ПК'.

И затем перезапустите X-сервер. Извините, но я не могу закрыть свой сеанс прямо сейчас для тестирования его.

BTW, Вы могли бы интересоваться http://code.google.com/p/partiwm/wiki/xpra, так, чтобы можно было перезапустить X сессий и все еще сохранить некоторые приложения через перезапуски.

5
ответ дан 27 October 2011 в 22:42

Я пробовал что-то похожее, используя xmodmap и его родственников, но мне это не удалось. Попробуйте xbindkeys в сочетании с xdotool. Это то, что я вставил в ~/.xbindkeysrc, чтобы привязать цифровую клавиатуру 1 и 2 к Ctrl - PageUp и Ctrl - PageDown :

"xdotool key ctrl+Prior" 
  Release + KP_End

"xdotool key ctrl+Next" 
  Release + KP_Down
0
ответ дан 27 October 2011 в 22:42

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

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