Есть ли место в «Ubuntu», где хранится полный список того, какие клавиши / комбинации / сочетания клавиш связаны с чем?
Что такое сочетания клавиш и мыши в Unity? перечислить некоторые ярлыки «Unity» для Dash, Launcher и т. д. и Как перечислить используемые сочетания клавиш Compiz? показывает способ перечисления привязок compiz, но я ищу больше (не только несколько сочетаний клавиш, ограниченных только Unity или Compiz), хотя это только начало.
Существует ли глобальный список используемых сочетаний клавиш / сочетаний клавиш / сочетаний клавиш, который хранится где-то в Ubuntu, или есть способ скомпилировать и перечислить их? Тот, который применяется к Ubuntu и работающим в нем (Unity, Compiz, ярлыки для программ и т. Д.).
Конечно, Ubuntu должен хранить это где-нибудь, чтобы комбинация клавиш, нажимаемая на клавиатуре, была направлена на то, с чем она связана? Если в Ubuntu такого места нет, то опубликуйте это как ответ, чтобы будущие пользователи, которые будут искать, будут знать.
источник
Ответы:
Ваш оконный менеджер получает любые ключевые события раньше, чем приложения, поэтому, если он хочет использовать эти события, он делает это, и ваши приложения никогда не получат их. Если оконный менеджер не хочет реагировать на ключевые события сам, он передает их приложению.
Вы можете проверить это самостоятельно следующим образом:
xev | grep KeyPress
, просмотрщик событий XAlt
, обратите внимание,xev
что это показывает, что он получил ключевое событие в своем терминальном окне.Ctrl
, еще раз отметьте, чтоxev
получили событие. Обратите внимание на то, как выглядит окно терминала прямо сейчас.Left arrow
чтобы перейти в другое рабочее пространство. (Я предполагаю, что у вас есть это в качестве сочетания клавиш менеджера окон.)Right arrow
чтобы вернуться туда, куда вы бежитеxev
. Обратите внимание, что он никогда не получал никаких событий клавиш для переключения рабочих пространств с помощью клавиш со стрелками влево и вправо - вывод такой же, как и в шаге 4.Итак, вы видите, что оконный менеджер на практике получает все ключевые события и, если он не хочет их захватывать, передает их приложению. Затем приложение выполняет то же самое для своих собственных виджетов (например, как вы можете нажимать
Enter
весь день в своем веб-браузере, но ничего не будет делать, пока вы не установите курсор в адресную строку или в какое-либо поле, где вы можете ввести текст) ,Приложение самостоятельно устанавливает ярлыки, а приложения настраиваются независимо друг от друга.
В KDE 3.x, если я правильно помню, вы можете установить ярлыки по умолчанию (например,
Ctrl-s
для сохранения) в Центре управления KDE, и это будет применяться ко всем приложениям, написанным с помощью инструментария Qt, но я не знаю, возможно ли это по-прежнему после их перехода на KDE 4.источник
Начиная с Ubuntu 17.10
По этим путям :
Вы также можете использовать
dconf-editor
(GUI) илиgsettings
(CLI).Начиная с Ubuntu 12.10-17.04
~/.config/dconf/user
(в dconf-editor:org.gnome.settings-daemon.plugins.media-keys.custom-keybindings
(пользовательские ярлыки)~/.config/compiz-1/compizconfig
До Ubuntu 12.04
Ярлыки размещаются по-разному в зависимости от используемого рабочего стола ведьмы (gnome / unity, kde, xfce, lxde и т. Д.).
Для гнома они под
~/.gconf/desktop/gnome/keybindings
(пользовательские ярлыки)и под
~/.gconf/apps/metacity
.источник
general/
global_keybindings/
window_keybindings/
gsettings
инструкцийНет, нет единого места, где хранятся все ярлыки. Приложения могут хранить свои конфигурации там, где они захотят.
Тем не менее, вы в основном смотрите на два уровня: уровень приложения (например, Ctrl-C для копирования в Firefox) и уровень оконного менеджера (например, Win + D для отображения рабочего стола). Compiz использует gconf для хранения своей конфигурации .
Для приложений вы можете грубо разделить их по наборам инструментов. А именно, приложения GTK также используют gconf.
Не совсем. Сосредоточенное приложение получает первый удар по событию клавиатуры X, но если этого не происходит, оно всплывает перед другими приложениями, а именно оконным менеджером. Таким образом, вы можете иметь игру, которая захватывает Alt + F4 и не закрывает окно (черт побери, Джеймстаун!). Я думаю, вы думаете, что он идет к какому-то центральному маршрутизатору событий, затем сопоставляется с некоторой базой данных и направляется к месту назначения. Это больше похоже на раздачу бутылки с напитком: проходи мимо, сделай глоток, если хочешь и передай остальное, или возьми все это и будь жадным
Среда Linux / FOSS (вы, возможно, заметили) довольно демократична, и заставить все приложения согласовать единый репозиторий конфигурации центральной клавиатуры - глупое дело. Во-первых, у вас есть неподдерживаемые приложения, которые были написаны очень давно, и вы об этом не знали бы.
Обновление: Согласно документации Xlib на эту тему :
Также,
И вы можете установить атрибут, чтобы отключить распространение .
Проблема в том, что вы не указываете X, какие ключи прослушивать, поэтому вы никогда не можете априори сказать, какие ключи прослушивает приложение (не говоря уже о том, что они делают) или действительно ли они намереваются распространять его, если они на самом деле слушаю это. Таким образом, центральный реестр невозможен на уровне X, поэтому вам придется делать это на уровне инструментария, что просто практически невозможно. : D
источник
Приложения хранят свои ярлыки независимо, поэтому нет центрального места, где они хранятся.
Я не понимаю весь процесс взаимодействия клавиатуры - ОС - ядро - X11 - Менеджер окон - Среда рабочего стола - Приложения, но если какое-то окно, например Gedit, имеет фокус клавиатуры, оно может обрабатывать вход сам по себе, и это так.
источник
В 11.10 в разделе «Конфигурация системы -> Клавиатура -> Ярлыки» вы получите довольно большой список из них. Это то, что вы ищете?
источник