Настройка достаточно проста:
1. берем файлик http://muaddeep.googlepages.com/mysym (или одноименный файлик у sash-kan'а - они одинаковые), и ложим в /usr/share/X11/xkb/symbols.
2. открываем /usr/share/X11/xkb/rules/xorg , находим в нем секцию
! option = symbols
и дописываем в нее:
mycaps = +mysym(caps_1)
3. открываем /etc/X11/xorg.conf и прописываем в XkbOptions, как-то так:
Option "XkbOptions" "mycaps,grp_led:caps"
Этого достаточно если вы пользуетесь каким-нить WM'ом, или KDE. Пользователи Gnome могут заметить что эти настройки сбрасываются и не работают в Гноме. Чтобы заставить эти настройки работать,
а так же добавить возможность выбора этой схемы через обычный Гномовский конфигуратор переключалки раскладок, я сделал следующее:
4. В Debian(и скорее всего в Ubuntu) открываем файл: /etc/X11/xkb/base.xml , в OpenSuSE 10.3 он же у меня нашелся в /usr/share/X11/xkb/rules/base.xml . Находим в этом xml'е секцию: Layout switching, и добавляем туда еще одну опцию:
<configitem>
<name>mycaps </name>
<description>My CapsLock switch </description>
</configitem>
После этого My CapsLock switch появитсяв диалоге Keyboard Preferences в layout options/Layout switching - что нам и нужно было. Возможно прийдется поиграться layout options/Caps Lock key behaviour - в Debian у мну там стоит что-то кастомное, в SuSE работает с дефолтом.
Ну и напоследок, там на форуме в обсуждении заметок, разгорелся спор, по поводу того нужна ли запоминалка раскладки для текущего окна, при не-циклическом переключении. Могу сказать: с запоминалкой удобнее, хотя без нее, при не-циклическом переключении не так смертельно опасно (:.