Якщо 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.