Intereting Posts
Поддерживает ли Linux Mint PAE для 32-битной Cinnamon и MATE? Есть ли какой-либо инструмент для просмотра статистики в реальном времени о графическом процессоре Radeon? Давать / var / www файлы доступа к www-данным и моему пользователю? Зачем нам нужен драйвер usbkbd, когда есть usbhid? Добавление строки в vim добавляет ее в строку после курсора, я хотел бы вставить Подключить wlan0 к HE-туннелю IPv6 Debian UDEV-правило: открыть новое окно gnome-terminal на usb-plugin И активировать его для stdin / stdout / stderr? наблюдение за выполнением скрипта с помощью скрипта monit, похоже, игнорирует каналы Как я могу использовать несколько учетных записей электронной почты из разных доменов с помощью Postfix? Неизвестная функция в Vim После переноса файла на другой сервер я хочу переместить исходный файл в другую папку, это исходный сервер с использованием lftp Измените umask другого пользователя на macosx Установите ls -l формат времени Ярлык клавиатуры для открытия gnome-терминала в GNOME 2.28.2 Сделать вхождения строки жирным шрифтом

как назначается комбинация клавиш для правильной программы?

в Ubuntu (или, если на то пошло большинство других дистрибутивов linux), я мог бы использовать ярлык ctrl + t, чтобы открыть новую вкладку (в firefox или аналогичную), или я мог бы использовать вкладку alt +, чтобы сделать выделенное окно переключателя единиц, или я мог бы используйте alt + ctrl + F <1-6>, чтобы перейти к другому tty. Какая часть linux обрабатывает и разрешает эти ярлыки? Что делать, если несколько программ / процессов имеют один и тот же ярлык, как приоритет разрешен?

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

Какая часть linux обрабатывает и разрешает эти ярлыки?

По большей части, отдельные приложения или оконный менеджер (WM) / среда рабочего стола (DE). Есть несколько пойманных и обработанных ядром, таких как VT-переключение с Cntl-Alt-F [N].

Фактическое событие распространяется:

  • Из ядра
  • К серверу Xorg
  • К WM / DE
  • К заявлению

Если его поймать и обработать в любой точке, он, вероятно, не продолжит свой следующий уровень.

Если вы запускаете приложение (не GUI) внутри терминала GUI, терминал GUI будет иметь приоритет над ним.

Что делать, если несколько программ / процессов имеют один и тот же ярлык, как приоритет разрешен?

WM / DE будет иметь приоритет над приложением.

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

Теперь давайте посмотрим, что произойдет, когда нажата клавиша. Ключевое нажатие и отпускание ключа обрабатываются отдельно, хотя библиотека может иметь дело с объединением их для программиста. Драйвер клавиатуры обрабатывает некоторые вещи, такие как обработка ключа Shift как модификатора, а не дискретного ключа. Сам драйвер может захватить некоторые комбинации клавиш для собственного использования или может передать его программе.

Какая программа получает его? Программы с окнами, как стандарт, получают только уведомления о нажатиях клавиш, когда они имеют фокус ввода. Программа также может «захватить» определенные ключи для собственного использования. Alt + Tab захватывает Unity, отрицая, что любая другая программа видит его. Ctrl + T захватывается системой меню Firefox, но только тогда, когда окно Firefox с меню, которое хочет знать об этом, имеет фокус ввода.

Итак, кто определяет, кто что? Помимо фокуса ввода, как я уже упоминал, он часто бывает первым, первым захваченным. Alt + Tab захватывает Unity (и многие другие оконные менеджеры), поэтому пользовательская программа редко может ее убрать. Конечный пользователь находится во власти используемых программ; если программа, такая как vim , позволяет вам настраивать определенные комбинации клавиш для разных вещей, тогда вам хорошо идти, пока программа получает нажатие клавиши.