Як я можу відобразити Super + UpArrow на PageUp?


12

Я хотів би зробити карту

  • Super+ UpArrowдоPageUp

  • Super+ DownArrowдоPageDown

  • Super+ LeftдоHome

  • Super+ RightдоEnd

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

Я шукав можливий спосіб зробити це через xmodmap протягом 3 годин, але нічого не вийшло.

Відповіді:


5

спробуйте редагувати визначення / usr / share / X11 / xkb / символи / ПК клавіатури

(це змінить ваші прив’язки в усьому світі, якщо ви хочете щось більш тонко налаштовано, потрібно ще трохи виконати роботу, як-от створення власної клавішної карти чи спеціального варіанту)

як ви бачите тут:

ключ {[Попередній]};
клавіша {[Далі]};

як ви бачите, ключ PGUP прив’язаний до "Prior". Поки:

 клавіша {[Вліво]};
 клавіша {[Вниз]};

Клавіші Вліво і Вниз клацаються на "Ліворуч" та "Вниз".

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

Зазвичай він використовується для визначення поведінки ключа плюс модифікатора "SHIFT":

  ключ {[l, L]};
  ключ {[крапка з комою, двокрапка]};

Але також можуть бути вказані інші модифікатори, наприклад, на карті есперанто (epo):

  ключ {[jcircumflex, Jcircumflex, bracketleft, braceleft]};
  ключ {[hcircumflex, Hcircumflex, bracketright, braceright]};

ви можете ввести [символ, ввівши клавішу AltGr + (клавіша [клавіша в клавіші us) і {клавішею Shift + AltGr +.

Все йде нормально. Послідовність, яку ми можемо зрозуміти, переглядаючи кілька простих прикладів:

plain shift altgr shift+altgr


Однак ми хочемо мати можливість прив’язати клавішу ВЛІВО та ВПРАВО до звичайних модифікаторів CTRL + ALT. Як цього досягти?

Я поняття не маю, і ніколи не пробував, але я б надихнувся на / usr / share / X11 / xkb / символи / ПК:

xkb_symbols "функція" {
    ключ {
        type = "CTRL + ALT",
        символи [Group1] = [F1, XF86_Switch_VT_1]
    };

Можливо, ми можемо зробити те ж саме для наших клавіш зі стрілками. Спробуємо додати наступні рядки:

 ключ {type = "CTRL + ALT", символи [Group1] = [Вліво, Попередня]};
 ключ {type = "CTRL + ALT", символи [Group1] = [Вниз, Далі]};

Трохи нижче оригінальних визначень LEFT та DOWN, в нижній частині файлу 'pc'.

А потім перезавантажте X-сервер. Вибачте, але зараз не можу закрити сеанс, щоб перевірити його.

До речі, вас може зацікавити http://code.google.com/p/partiwm/wiki/xpra , щоб ви могли перезапустити сеанс X та зберегти деякі програми під час перезавантаження.


На жаль, і це не працює. Я змінив ваш "CTRL + ALT" на SUPER_R, SUPER, META, оскільки я хочу відобразити правильний ключ Super, а не CTRL + ALT (який також не працює). Я також спробував додати ідентифікатори після "ключової" частини (наприклад, <PGUP>), яка, на мою думку, відсутня, але різниці немає.
guest442

4

Я спробував щось подібне, використовуючи xmodmap та його коньяти, і не вдалося. Спробуйте xbindkeysспільно з xdotool. Це те, що я вкладаю, ~/.xbindkeysrcщоб прив'язати цифрові клавіатури 1 і 2 до Ctrl- PageUpі Ctrl- PageDown:

"xdotool key ctrl+Prior" 
  Release + KP_End

"xdotool key ctrl+Next" 
  Release + KP_Down

Дякую; Я спробував те саме, але, схоже, це не працює. Начебто Super + Down видає символ «~» кожні кілька натискань у терміналі (звичайний PageDown робить це теж, тому він змусив мене подумати, що він працює), але він фактично не виконує PageDown.
guest442

Я також спробував xautomation і xvkbd; вони обоє провалюються однаково. Я впевнений, що частина xbindkeys працює, оскільки я можу отримати комбінації клавіш для запуску інших додатків тощо, але клавіші просто не емулюються.
guest442
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.