Где Ubuntu хранит свою комбинацию клавиш?

Я рекомендую проверить список графических карт, официально поддерживаемых Ubuntu

. Ваш ответ есть.

1
задан 13 April 2017 в 15:23

4 ответа

До Ubuntu 12.04

Ярлыки расположены по-разному в зависимости от используемого вами рабочего стола (gnome / unity, kde, xfce, lxde и т. д.).

Для gnome они находятся под ~/.gconf/desktop/gnome/keybindings (пользовательские ярлыки)

и в ~/.gconf/apps/metacity.

До Ubuntu 12.04

~/.config/dconf/user (в dconf-editor: org.gnome.settings-daemon.plugins.media-keys.custom-keybindings (пользовательские ярлыки)

~/.config/compiz-1/compizconfig

17
ответ дан 25 May 2018 в 14:36
  • 1
    11.10 не использует GNOME или Metacity. – nfirvine 11 February 2012 в 09:04
  • 2
    Но путь к ярлыкам все еще работает, когда я его использую. – desgua 12 February 2012 в 05:46
  • 3
    Когда вы смотрели довольно свежие настройки ubuntu 11.10 на macbook pro, первое место не имело файла привязки клавиш, но во втором месте было следующее: general/ global_keybindings/ window_keybindings/ – Victor S 17 February 2012 в 14:18
  • 4
    Первое место для пользовательских ярлыков. – desgua 18 February 2012 в 03:18
  • 5
    @AnonymousPlatypus см. здесь для инструкций gsettings – wjandrea 4 May 2016 в 20:51

Нет, нет места, где хранятся все ярлыки.

Тем не менее, вы в основном смотрите на два уровня: уровень приложения (например, Ctrl-C для копирования в Firefox) и уровень оконного менеджера (например, например Win + D, чтобы показать рабочий стол). Compiz использует gconf для сохранения своей конфигурации.

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

Конечно, Ubuntu должен хранить это где-то для комбинации клавиш, нажатой на клавиатуре, чтобы быть направлена ​​к тому, с чем она связана?

Не совсем. Сфокусированное приложение получает первый удар при событии X-клавиатуры, но если это не так, оно появляется в других приложениях, а именно в оконном менеджере. Таким образом, вы можете иметь игру, которая захватывает Alt + F4 и не закрывает окно (черт побери, Джеймстаун!). Я думаю, вы думаете, что он идет на какой-то центральный маршрутизатор событий, затем сопоставляется с какой-то базой данных и направляется в пункт назначения. Это больше похоже на прохождение бутылки с напитками: пройдите, возьмите свихну, если хотите, и передайте все остальное, или возьмите все это и будьте жадными.

Окружающая среда Linux / FOSS (возможно, вы заметили) довольно демократична, и получение всех приложений для согласования в одном центральном хранилище конфигурации клавиатуры - это безумное поручение. Во-первых, у вас есть незавершенные приложения, которые были написаны давно и не знали об этом.

Обновление: согласно Compiz использует gconf для сохранения своей конфигурации :

Конечно, Ubuntu должен хранить это где-то, если комбинация клавиш нажата на клавиатуре, чтобы быть направлена ​​на то, с чем она связана?

Начиная с источника окна, X-сервер ищет иерархию окон до тех пор, пока не найдет первое окно, указанное клиентом, как имеющее интерес к этим событиям. Если одно из промежуточных окон имеет свою маску do-not-propagate-mask, запрещающую генерацию типа события, события этих типов будут подавлены.

Для получения KeyPress, KeyRelease, ButtonPress и ButtonRelease событиями, установите значения KeyPressMask, KeyReleaseMask, ButtonPressMask и ButtonReleaseMask в атрибуте маски событий окна.

Кроме того,

И вы можете установить атрибут для отключения распространения.

4
ответ дан 25 May 2018 в 14:36
  • 1
    Я пришел к почти такому же выводу, что фокус определяет, какие ручки вводят. Это можно увидеть, открыв окно браузера, а затем откроет окно терминала, которое теперь становится активным окном. Если вы наведите указатель мыши на окно браузера, используйте колесо прокрутки, которое прокрутит окно браузера, даже если окно терминала является активным окном. – James 13 February 2012 в 09:10
  • 2
    Я надеялся на легкий ответ на мой вопрос или, по крайней мере, на простой способ скомпилировать и перечислить ярлыки, но это не представляется возможным, если бы нажатия клавиш в конечном итоге попадали туда, где они определены. Комбинации клавиш / клавишных клавиш, похоже, распространяются повсюду, и их использование, как правило, зависит от того, что активно и где находится текущий фокус. – James 13 February 2012 в 09:16
  • 3
    Тем не менее, я не с вами в приложении, получающем ключевое событие перед оконным менеджером. Я думаю, что у Window Manager есть первая трещина на этом событии, а затем активные приложения. – James 14 February 2012 в 18:24

Приложения хранят свои ярлыки самостоятельно, поэтому нет центрального места, где они хранятся.

Я не понимаю весь процесс взаимодействия с клавиатурой - OS - kernel - X11 - Window Manager - Desktop Environment - Приложения, но если определенное окно, например Gedit, фокус клавиатуры, он может самостоятельно обрабатывать вход, и он делает это.

1
ответ дан 25 May 2018 в 14:36

В 11.10 в разделе «Конфигурация системы -> Клавиатура ->« Ярлыки »вы получите довольно большой список из них. Это то, что вы ищете?

-1
ответ дан 25 May 2018 в 14:36
  • 1
    Он ищет файл, содержащий все ярлыки, а не только список из них. – Mark O'Sullivan 30 January 2016 в 16:37

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

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