Автор Гілка: Перемикання розкладок в X-сервері з HAL  (Прочитано 3423 раз)

romi

  • Гість
Якщо X-сервер зкомпільований з підтримкою HAL, то X-сервер без запущеного HAL працювати не буде.
І /etc/X11/xorg.conf на налаштування клавіатури не впливатиме.
Тому потрібно налаштовувати самий HAL.
Мені вдалося налаштувати HAL щоб в X-сервері без додаткових засобів можна було перемикати розкладки клавіатури комбінацією клавіш Ctrl+Shift.
Тепер напишу як я це зробив:
1) Зкопіював один файл:
# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy
2) Відредагував цей файл
# sudo nano /etc/hal/fdi/policy/10-keymap.fdi
відредагував його так:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keymap">
      <append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
    </match>

    <match key="info.capabilities" contains="input.keys">
      <merge key="input.xkb.rules" type="string">base</merge>

      <!-- If we're using Linux, we use evdev by default (falling back to
           keyboard otherwise). -->
      <merge key="input.xkb.model" type="string">keyboard</merge>
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
             string="Linux">
        <merge key="input.xkb.model" type="string">evdev</merge>
      </match>

      <merge key="input.xkb.layout" type="string">us,ua</merge>
      <merge key="input.xkb.variant" type="string">,winkeys</merge>
      <merge key="input.xkb.options" type="string">grp:ctrl_shift_toggle</merge>
    </match>
  </device>
</deviceinfo>
3) Перезавантажив комп:
# reboot

Все, тепер розкладки в іксах перемикаються комбінацією клавіш Ctrl + Shift.  :)
« Змінено: 2009-08-20 11:20:11 від romi »

Відсутній sv0

  • Новачок
  • *
  • дописів: 34
  • Карма: +0/-0
А пункт №3 для чого? Звичка з віндоуз залишилась?
Debian  Wheezy + Openbox

romi

  • Гість
Можете перезаважити HAL якщо вам так буде простіше.
Чи у вас усе запрацювало без reboot?
« Змінено: 2009-09-10 18:01:20 від romi »

Відсутній xuser13

  • Графоман
  • ****
  • дописів: 488
  • Карма: +0/-0
Невелике оновлення: 10-keymap.fdi я в себе не знайшов і створення його в /etc/hal/fdi/policy
 нічого не дало. Потрібно додати в xorg.conf (якщо із Hot-Plugging) щось на зразок такого:
Section "InputClass"
    Identifier     "Keyboard0"
MatchIsKeyboard "yes"
    Option         "XkbLayout" "us,ua(unicode),ru"
    Option         "XkbOptions" "grp:rshift_toggle,lv3:switch"
EndSection
Знайшов на https://wiki.archlinux.org/index.php/Xorg#Keyboard_settings
чи планетяне щче не подали блакитне свитло?