Подкачайте Раскладки клавиатуры автоматически в Ubuntu

Я использую ноутбук с международной альтернативой США (прежний нас международный) расположение и usb клавиатура Microsoft Curve с бразильским расположением когда за моим столом.

То, что я хотел бы, должно переключить разметки автоматически, когда клавиатура usb обнаруживается, вместо того, чтобы идти в предпочтения вручную каждый раз, когда я оставляю стол. Есть ли в человечности 9.04 такой путь?

1
задан 28.09.2009, 19:52

3 ответа

Существует три компонента к решению, которое позволило бы Вам подкачать раскладки клавиатуры:

  1. Обнаружьте, когда клавиатура будет включена в /
  2. Обнаружьте расположение на клавиатуре
  3. Установите расположение своей системы для соответствия раскладке клавиатуры.

1. Обнаружьте, когда клавиатура будет включена в /

Все изменения аппаратной конфигурации отправляются на демоне шины сообщения D-шины.

D-шина является магистральной системой сообщения, простым путем к приложениям, чтобы говорить друг с другом. В дополнение к межпроцессному взаимодействию D-шина помогает скоординировать жизненный цикл процесса; это делает это простым и надежным, чтобы кодировать "единственный экземпляр" приложение или демон, и запустить приложения и демонов по требованию, когда их сервисы необходимы.

D-шина предоставляет обоих системный демон (для событий, таких как "новое устройство добавленная" или "очередь печати, измененная") и per-user-login-session демон (для общих потребностей IPC среди пользовательских приложений).

Можно следить за развитием событий, отправленных на D-шине через dbus-команду-контроля:

dbus-monitor --system #show all events
dbus-monitor --system --profile 'interface=org.freedesktop.Hal.Manager' # filter: only events sent by Hal
dbus-monitor --system --profile 'interface=org.freedesktop.Hal.Manager, member=DeviceAdded' # filter: only DeviceAdded events sent by Hal

Включите свою клавиатуру и наблюдайте, что сообщения проходят. Это должно дать Вам общее представление о фильтре, необходимо обнаружить включаемую клавиатуру или. Необходимо будет также познакомиться с использованием dbus-монитора более подробно.

2. Обнаружьте расположение клавиатуры

После того как клавиатура включается в систему, HAL(Уровень аппаратной абстракции) настраивает ее. Можно получить эту информацию с помощью команды hal-get-property, после того как Вы определили ключ, в котором Вы нуждаетесь. Например, в моей системе:

$ hal-get-property --udi /org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input --key "input.xkb.layout"
gb
$ hal-get-property --udi /org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input --key "input.xkb.model"
pc105

Посмотрите на этот ответ для подробного объяснения того, как получить значения от HAL: устанавливание профилей процесса на человечности. Я думаю, что сообщение D-шины могло бы дать Вам настроенный узел HAL для подключенного устройства, но я не уверен. В противном случае Вы знаете, что это будет в любом из двух мест - соответствие одной из двух клавиатур.

3. Выберите расположение своей системы для соответствия раскладке клавиатуры

joe уже указал, как можно сделать это использование xmodmap.

2
ответ дан 12.12.2019, 13:26

Я не знаю об этом. Но это - моя работа вокруг, я раньше решал (переключатель от нас до Великобритании)

sudo xmodmap /usr/share/xmodmap/xmodmap.uk
0
ответ дан 12.12.2019, 13:26
  • 1
    я предполагаю это, помог бы в сценарии, но важная часть - то, как я обнаруживаю, они вводят с клавиатуры быть включенным? – Decio Lira 25.09.2009, 18:56

Мое предположение - то, что это могло бы быть возможным использованием некоторых директив HAL.

Однако Вы не должны переходить к Предпочтениям каждый раз, когда Вы хотите переключить разметки. Почему Вы просто не добавляете "апплет" Индикатора Клавиатуры к своей панели? Это - только один щелчок мышью затем.

0
ответ дан 12.12.2019, 13:26
  • 1
    Это - то, что я в настоящее время делаю. Но странно достаточно апплет продолжает работать на установку приложения. Таким образом, это может использовать расположение США для приложения и все еще использовать установку ЛИФЧИКА для другого, пока я не нажимаю его. Не знайте, является ли это нормальным поведением все же. – Decio Lira 25.09.2009, 20:35
  • 2
    Это может быть настроено от предпочтений Клавиатуры: Система-> Предпочтения-> Клавиатура, переключитесь на вкладку "Layouts" и удалите галочку "У отдельного расположения для каждого окна". – innaM 25.09.2009, 20:50

Теги

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