Як знайти * чому * я не можу прив’язати якусь комбінацію клавіш (або яку програму взяв)?


14

Якщо коротко: чи є (під Unity) який-небудь спосіб дізнатися, яка програма захопила якусь глобальну ярлик? Я не прошу "стандартних ярликів", але для того, щоб отримати інформацію про фактичні ярлики (який додаток насправді зберігає даний ключ у моєму поточному конфігурації)

Більш довга історія:

У мене є повторювані проблеми з керуванням комбінаціями клавіш. На даний момент:

  • Synapse іноді (*) не може прив’язати Win-Space, оскільки це ярлик активації, повідомляючи "Не вдалося зареєструвати гарячу клавішу" активувати "підписом" пробіл "" (що зазвичай означає, що ця комбінація вже прийнята)

    (*) Після одного входу він працює, після іншого входу він не робить. Я підозрюю якусь гонку між двома додатками ...

  • F9 чомусь робить мій екран трохи темнішим (а F9 не досягає ярликів на рівні програми, наприклад, моє меню byobu не працює)

Я спробував подивитися в різних місцях і:

  • Я не бачу жодної із цих клавіш у налаштуваннях клавіатури / ярликах

  • Я не можу їх знайти в gconf-редакторі (я намагався шукати F9 у значеннях, зокрема нічого не знайдено)

  • Я не міг їх знайти в dconf-редакторі (немає пошуку, тому я натиснув кілька найбільш очевидних шляхів)

Отже, моє запитання: чи є спосіб задати єдність / dconf / gconf / d-bus / що завгодно щодо поточного глобального розподілу гарячих клавіш (який процес зберігає який ключ). Або змусити вести журнал цих виділень до якогось файлу журналу. Або гребіть їх звідкись. Або ………


Чи можете ви уточнити чи визначити (для цього питання), що розуміється під глобальним ярликом ?

Клавіша, яку я натискаю і яка спричиняє щось, не пов’язане з поточним активним вікном. Наприклад, глобальний ярлик Win-S відкриває вигляд експозиції, глобальний ярлик Alt-Tab перемикає вікна, F12 (у моїх налаштуваннях) відкриває випадаючий термінал tilda і т.д. і т.д. У мене немає поняття, який додаток робить це і чому. І щось часом захоплює Win-space. І раніше я випадково бачив, як F12 відібрали від тильди (на щастя, ця проблема пішла). Тож я би радий мати спосіб перевірити ці виділення на клавіатурі.
Мекк

Я думаю, що F9 може активувати накладки віджетів, але це було зроблено час, коли я був на Unity. Може, шукати це в CCSM ..?
Расмус

Подивіться на askubuntu.com/questions/101226/… або wiki.ubuntu.com/Keybindings або superuser.com/questions/152367/… - Там описано кілька локацій, наприклад, у dconf або gconf, де Unity зберігає свої ярлики. Можливо, ви хочете перевірити на цих сторінках будь-яку нову інформацію?
Байт-командир

Відповіді:


2

Між 12.10 та 17.04 робочий стіл Ubuntu насправді Compiz, а саме Unity - лише плагін Compiz.

Якщо ви замість цього встановите та ввімкнете плагін Compiz "команди" та встановіть ярлики клавіатури за допомогою CCSS, коли є конфлікт, CCSM повинен попередити вас про те, який плагін викликає конфлікт, а також повинен надати варіанти відключення конфліктуючого плагіну чи суперечливого прив'язки клавіш. перед тим, як застосувати налаштування.

Особисто я також зазнав труднощів із налаштуванням комбінацій клавіш у 14.04+, але з тих пір, як я вирішив почати використовувати плагін CCSM замість клавіатурних скорочень в Unity, я не відчував жодних проблем, і всі мої комбінації клавіш працюють добре. настійно пропоную вам хоча б перевірити це як варіант.


1

Тепер я розумію, що вам потрібно ...

sudo apt-get install evtest

Насолоджуйтесь демонструючи події Ubuntu USB HID!

Попередження Це не працює на клавіатурах PS2 / style ... (але хто все-таки там користується?) :-)


Не до кінця вирішуючи мою проблему, але, безумовно, корисна. Тим не менш, мені цікаво, де саме зберігаються ті активні прив’язки і чи можна їх самоаналізувати (геттінг - це місце, яке їх читають у багатьох додатках, але не кожен додаток повинен використовувати геттинги ...)
Мекк,

Якщо ви дасте мені вихід з вищевказаної команди, я можу вам допомогти ... Якщо ви хочете знати, чому , я раджу прочитати: wiki.archlinux.org/index.php/Extra_keyboard_keys, і тоді ви оціните це, як це працює зовсім!!! ;-)
Fabby

Ця стаття - не зовсім те, про що я прошу - я не запитую, як ключі переводяться з фізичних натискань клавіш на символи (хоча це теж цікаво і часом заплутано). Я запитую простіше: яка програма насправді зберігає та застосовує глобальні комбінації клавіш та чи існують якісь утиліти чи API, які дозволяли б мені самоаналізувати або простежити ці завдання.
Мекк

(коли я запускаю єдність, він реєструє Alt-F2, Alt-F4, Win-S і т. д. і т.д. в якому місці вони реєструють ці ключі та як отримати доступ до цього місця?)
Мекк

Ооо ... Тепер я бачу ... Є щось, що називається, evtestале це лише USB-матеріал! З іншого боку, саме це вам потрібно, якщо ви використовуєте ноутбук або робочий стіл без клавіатури стилю PS / 2!
Fabby

1

З однієї зі своїх старих відповідей :

Спочатку потрібно встановити xdotool:

sudo apt-get install xdotool

Я склав ряд команд, щоб показати нам пасивні захоплення на натисканні клавіші. Наприклад, щоб побачити, що захоплює комбінацію Shift + PrintScreen, ви можете скористатися наведеним нижче "скриптом":

xdotool keydown "shift+Print"; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

Це запустить Shift + PrtSc keyevent, а при встановленні Ubuntu за замовчуванням буде показано налаштування gnome-daemon, що захоплює клавіатуру. Принаймні, це працювало на моїй старшій встановлення 12.04, але схоже на 14.04, я повинен був використовувати це:

xdotool key "shift+Print"; sleep 1; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

але

xdotool keydown "F12"; xdotool key "XF86LogGrabInfo"; xdotool keyup "F12"; tail /var/log/Xorg.0.log

як і раніше працює, іноді, а не в інші часи. Не знаю чому.

Вам просто потрібно змінити вищевказаний "скрипт", змінивши клавіші, які потрібно імітувати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.