После выхода предыдущей статьи через форму обратной связи был задан вопрос: можно ли настроить переключение раскладки в упрощённом режиме eeePC по нажатию Ctrl+Shift. Эта заметка является ответом на этот вопрос.
Для начала немного подправим файл /etc/X11/xorg.conf, приведя секцию "InputDevice" для устройства "kbd" к виду:
Section "InputDevice" Identifier "keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "us,ru" Option "XkbVariant" ",winkeys" Option "XkbOptions" "grp:ctrl_shift_toggle" EndSection
Кроме того, в файле /etc/X11/Xsession.d/60keyboardmap-applet нужно закоментировать запуск "родного" для eeePC переключателя клавиатуры:
#/opt/xandros/bin/keyboardmap &
В принципе, уже всё работает, однако, наверняка нам захочется иметь ещё и индикатор раскладки в трее. Для этого нам понадобиться установить пакет xxkb:
apt-get install xxkb
Затем создаём скрипт для запуска xxkb: /usr/local/bin/startxxkb следующего содержания:
#!/bin/sh /bin/sleep 5 /usr/bin/xxkb
Задержка нужна чтобы дать запуститься утилите icewmtray. Теперь добавляем новый срикпт в автозапуск. Для этого создаём файл /etc/X11/Xsession.d/99xxkb следующего содержания:
#!/bin/sh /bin/sh /usr/local/bin/startxxkb &
И делаем его исполняемым:
chmod +x /etc/X11/Xsession.d/99xxkb
Теперь xxkb будет запускаться автоматически при запуске системы. Осталось только настроить индикатор, чтобы он висел в трее. Для этого копируем стандартный файл конфигурации к себе в домашний каталог:
cp /etc/X11/app-defaults/XXkb ~/.xxkbrc
Открываем его в редакторе. Первым делом уменьшим размер главного окна с 48x48 точек до 15x15 точек:
! XXkb.mainwindow.geometry: 48x48 XXkb.mainwindow.geometry: 15x15 ! XXkb.mainwindow.xpm.1: en48.xpm XXkb.mainwindow.xpm.1: en15.xpm ! XXkb.mainwindow.xpm.2: ru48.xpm XXkb.mainwindow.xpm.2: ru15.xpm ! XXkb.mainwindow.xpm.3: su48.xpm XXkb.mainwindow.xpm.3: su15.xpm
Стоит отметить, что в xxkbrc комментарии начинаются с восклицательного знака, а не с символа решётки, как это бывает.
Далее уберём главное окно в системный трей. Для этого нужно раскомментировать параметр XXkb.mainwindow.in_tray и присвоить ему значение KDE2:
XXkb.mainwindow.in_tray: KDE2
И, наконец, убираем значок языка с заголовков окон:
! XXkb.button.enable: yes XXkb.button.enable: no
Если же хочется его оставить, то нужно немного подвинуть значок, чтобы он не налезал на кнопки управления окном:
! XXkb.button.geometry: 15x15-60+7 XXkb.button.geometry: 15x15-80+9
В этом случае так же полезно убрать индикатор с приложения AsusLauncher (которое отвечает за иконки на рабочем столе), поскольку на нём он смотрится не очень эстетично. Для этого в конец файла нужно добавить строчку:
XXkb.app_list.wm_name.ignore: AsusLauncher
Приятной работы!
eugene 2008-06-28 17:01:31 (#)
Итак. Следом за строкой
XXkb.app_list.wm_name.ignore: AsusLauncher
в ~/.xxkbrc добавляем строчку
XXkb.app_list.wm_name.ignore: icewmtray
после чего зловредная иконка пропадает навсегда :-)
Кстати. Штатные иконки xxkb при помещении в трей выглядят неважно - квадратные и сдвинуты вверх. Прямо руки чешутся перерисовать...