два вопроса по иксам
Hi. 1) А нет ли в иксах какого-нибудь способа глобально переназначить сочетание клавиш? Конкретно, мне хотелось бы, чтобы нажатие Super_L + PgUp (каковое гарантированно нигде не задействовано) отрабатывало бы как Home, а Super_L + PgDn соответственно как End. Если я правильно понял, через xmodmap можно переназначить только конкретный предусмотренный в иксах ключ, или полностью модификатор, а вот возможности переназначить сочетание "модификатор + ключ" я в нем не нашел. В принципе, подошел бы и способ переназначить эти сочетания через xmonad, но в нем такой возможности я тоже не нашел (в нем можно, конечно, повесить на эти сочетания вызов xdotool, который выдаст нужные Home/End, но это, мне кажется, уже перебор). 2) Правильно я понимаю, что на нынешнем витке развития иксы не умеют назначать разные DPI на два подключенных монитора? И если к ноуту со встроенным 2560x1440 подключить внешний монитор с 1024x768, то придется мириться, что на внешнем будут те же 170, что и на встроенном (иначе я не разгляжу мелких буковок на встроенном)? Или все-таки есть какой-то способ, которого я не смог найти самостоятельно, поставить на них разные DPI?
Re: два вопроса по иксам
Отвечу на второй вопрос. В Гноме - параметры системы - оборудование - дисплей. Можно настроить как нужно. В других тоже есть подобные вещи. пн, 11 февр. 2019 г. в 23:05, Alex Kicelew : > Hi. > > 1) А нет ли в иксах какого-нибудь способа глобально переназначить > сочетание клавиш? Конкретно, мне хотелось бы, чтобы нажатие Super_L + > PgUp (каковое гарантированно нигде не задействовано) отрабатывало бы как > Home, а Super_L + PgDn соответственно как End. Если я правильно понял, > через xmodmap можно переназначить только конкретный предусмотренный в > иксах ключ, или полностью модификатор, а вот возможности переназначить > сочетание "модификатор + ключ" я в нем не нашел. > > В принципе, подошел бы и способ переназначить эти сочетания через > xmonad, но в нем такой возможности я тоже не нашел (в нем можно, > конечно, повесить на эти сочетания вызов xdotool, который выдаст нужные > Home/End, но это, мне кажется, уже перебор). > > 2) Правильно я понимаю, что на нынешнем витке развития иксы не умеют > назначать разные DPI на два подключенных монитора? И если к ноуту со > встроенным 2560x1440 подключить внешний монитор с 1024x768, то придется > мириться, что на внешнем будут те же 170, что и на встроенном (иначе я > не разгляжу мелких буковок на встроенном)? Или все-таки есть какой-то > способ, которого я не смог найти самостоятельно, поставить на них разные > DPI? > > -- Константин Фадеев
Re: два вопроса по иксам
On Mon, Feb 11, 2019 at 11:05:20PM +0300, Alex Kicelew wrote: > Hi. > > 1) А нет ли в иксах какого-нибудь способа глобально переназначить > сочетание клавиш? Конкретно, мне хотелось бы, чтобы нажатие Super_L + > PgUp (каковое гарантированно нигде не задействовано) отрабатывало бы как > Home, а Super_L + PgDn соответственно как End. Если я правильно понял, https://habr.com/ru/post/85/ > > 2) Правильно я понимаю, что на нынешнем витке развития иксы не умеют > назначать разные DPI на два подключенных монитора? И если к ноуту со https://blog.summercat.com/configuring-mixed-dpi-monitors-with-xrandr.html
Re: два вопроса по иксам
On 2/11/19 11:37 PM, Иван Лох wrote: >> 1) А нет ли в иксах какого-нибудь способа глобально переназначить >> сочетание клавиш? Конкретно, мне хотелось бы, чтобы нажатие Super_L + > https://habr.com/ru/post/85/ О, спасибо, это, кажется, то, что нужно. (в ужасе покосившись на запятые). >> 2) Правильно я понимаю, что на нынешнем витке развития иксы не умеют >> назначать разные DPI на два подключенных монитора? И если к ноуту со > https://blog.summercat.com/configuring-mixed-dpi-monitors-with-xrandr.html А вот это, вроде, нет. Со scale я экспериментировал. Оно именно софтверно шкалирует. То бишь позволяет "притвориться", что на мониторе 1024 действительно 2ххх, и выводить на него соответствующе, но реальными пикселями, которых 1024. Результат получается... мнэ... несъедобный.
Re: два вопроса по иксам
Alex Kicelew wrote: > On 2/11/19 11:37 PM, Иван Лох wrote: >>> 1) А нет ли в иксах какого-нибудь способа глобально переназначить сочетание >>> клавиш? Конкретно, мне хотелось бы, чтобы нажатие Super_L + PgUp (каковое >>> гарантированно нигде не задействовано) отрабатывало бы как Home, а Super_L >>> + PgDn соответственно как End. >> >> https://habr.com/ru/post/85/ > > О, спасибо, это, кажется, то, что нужно. (в ужасе покосившись на запятые). Не совсем. Статья совершенно не раскрывает, как вам достичь желаемого, а именно: 1. Назначить что-нибудь на PgUp модифицированный «супером», а не просто на PgUp, ибо из коробки эти две клавиши никакого отношения друг к другу не имеют. А для этого нужно переназначить ей тип на PC_SUPER_LEVEL2: partial modifier_keys xkb_symbols "super_pgup" { replace key { type = "PC_SUPER_LEVEL2", symbols = [ Prior, ‹символ-при-супере› ] }; }; 2. Назначить не что-нибудь, а клавишу _без_ модификаторов, ибо если лакуну выше заполнить словом ‘Home’, то модификатор так сбрасываться не будет, то есть нажав Super_L + PgUp вы получите Super_L + Home, а не чистый Home. Для этого есть два варианта: (1) «overlay», предназначенный специально для того, чтобы массово городить подобный огород, его попроще написать, но левым «супером» тогда придется пожертвовать вообще (это я так понял, не для вас), и (2) действие ‘RedirectKey()’, а это как-то так: partial modifier_keys xkb_symbols "super_pgup_as_home" { replace key { type = "PC_SUPER_LEVEL2", symbols = [ Prior, NoSymbol ], actions = [ NoAction(), RedirectKey(key=, clearmods=mod4) ] }; }; }; Примеры не проверял, могут быть ошибки и опечатки. signature.asc Description: PGP signature
Re: два вопроса по иксам
Dmitry Alexandrov <321...@gmail.com> wrote: 1) А нет ли в иксах какого-нибудь способа глобально переназначить сочетание клавиш? Конкретно, мне хотелось бы, чтобы нажатие Super_L + PgUp (каковое гарантированно нигде не задействовано) отрабатывало бы как Home > > 1. Назначить что-нибудь на PgUp модифицированный «супером», а не просто на > PgUp... А для этого нужно переназначить ей тип на PC_SUPER_LEVEL2 Да, это не левый «супер», а оба супера. Если вопрос принципиальный, то он, уверен, решаем, но как — навскидку не напишу. > Примеры не проверял, могут быть ошибки и опечатки. И естественно есть — дважды закрыл один блок: -actions = [ NoAction(), RedirectKey(key=, clearmods=mod4) ] }; +actions = [ NoAction(), RedirectKey(key=, clearmods=mod4) ] signature.asc Description: PGP signature
Re: два вопроса по иксам
В Mon, 11 Feb 2019 23:05:20 +0300 Alex Kicelew пишет: > 2) Правильно я понимаю, что на нынешнем витке развития иксы не умеют > назначать разные DPI на два подключенных монитора? И если к ноуту со Насколько я понимаю, можно, если не пытаться обеспечить прозрачный перенос окон с одного монитора на другой, а назначить им разный display или хотя бы screen. > встроенным 2560x1440 подключить внешний монитор с 1024x768, то > придется мириться, что на внешнем будут те же 170, что и на > встроенном (иначе я не разгляжу мелких буковок на встроенном)? Или > все-таки есть какой-то способ, которого я не смог найти > самостоятельно, поставить на них разные DPI? > -- Victor Wagner
Re: два вопроса по иксам
On 2/12/19 4:51 AM, Dmitry Alexandrov wrote: > 1. Назначить что-нибудь на PgUp модифицированный «супером», а не просто на > PgUp, ибо из коробки эти две клавиши никакого отношения друг к другу не имеют. > А для этого нужно переназначить ей тип на PC_SUPER_LEVEL2: Хм. А будет ли она после этого работать как Super? Кажется, я был неправ, задав вопрос не по изначальной задаче, а по наиболее очевидному для меня способу ее решения. Пытаюсь исправиться. На новом ноуте стрелки с PgDn/PgUp расположены в одном месте клавиатуры, а Home/End в другом, что очень неудобно. Вот я и думаю, как бы это вылечить. Super для меня не принципиален, этот вариант появился только из-за того, что сочетания всяких Alt-Ctrl-Shift с PgUp/PgDn регулярно используются в разных программах, и задействовав их, я могу лишиться чего-либо. Но Super_L (хотя и не в сочетании с PgUp/PgDn) сам по себе широко используется у меня в xmonad, и лишаться его я не готов ни морально, ни аморально.
Re: два вопроса по иксам
On 2/12/19 7:34 AM, Victor Wagner wrote: >> 2) Правильно я понимаю, что на нынешнем витке развития иксы не умеют >> назначать разные DPI на два подключенных монитора? И если к ноуту со > Насколько я понимаю, можно, если не пытаться обеспечить прозрачный > перенос окон с одного монитора на другой, а назначить им разный display > или хотя бы screen. А где можно почитать про работу иксов в таких режимах? Навскидку я представляю, как стартовать окно на другой дисплей/скрин, но не очень представляю, как с ним там работать.
Re: два вопроса по иксам
On 12/02/2019 11:59, Alex Kicelew wrote: On 2/12/19 7:34 AM, Victor Wagner wrote: или хотя бы screen. скрин, но не очень представляю, как с ним там работать. Никак с ними не работать. Что бы перетащить окно с одного скрина на другой нужна поддержка в приложении. Из того, что я видел, это умел только гимп, если уже не удалили. -- sergio.
Re: два вопроса по иксам
On Tue, Feb 12, 2019 at 12:04:01PM +0300, sergio wrote: > > Никак с ними не работать. Что бы перетащить окно с одного скрина на другой > нужна поддержка в приложении. Из того, что я видел, это умел только гимп, > если уже не удалили. Это стандартная функция WM.
Re: два вопроса по иксам
On 12/02/2019 12:12, Иван Лох wrote: Это стандартная функция WM. Какого? При нескольких скринах на каждом запускается по инстансу WM. -- sergio.
Re: два вопроса по иксам
On Tue, Feb 12, 2019 at 12:14:49PM +0300, sergio wrote: > On 12/02/2019 12:12, Иван Лох wrote: > > > Это стандартная функция WM. > > Какого? awesome, например > При нескольких скринах на каждом запускается по инстансу WM. Не обязательно
Re: два вопроса по иксам
On 12/02/2019 12:17, Иван Лох wrote: awesome, например При нескольких скринах на каждом запускается по инстансу WM. Не обязательно $ Xephyr :1 -screen 640x480 -screen 640x480 $ DISPLAY=:1 awesome осм запустился на одном скрине. (с :1.1 запустится на другом) Можно пример того, как запустить сразу на обоих? -- sergio.
Re: два вопроса по иксам
On Tue, Feb 12, 2019 at 12:34:45PM +0300, sergio wrote: > $ Xephyr :1 -screen 640x480 -screen 640x480 > > $ DISPLAY=:1 awesome > > осм запустился на одном скрине. (с :1.1 запустится на другом) > > Можно пример того, как запустить сразу на обоих? xrandr --output XXX --auto --right-of YYY С настройками по-умолчанию он сам подхватит второй screen
Re: два вопроса по иксам
On 12/02/2019 12:51, Иван Лох wrote: xrandr --output XXX --auto --right-of YYY С настройками по-умолчанию он сам подхватит второй screen При чём тут xrandr? У xrandr'а свои скрины, у иксов свои. -- sergio.
Re: два вопроса по иксам
On Tue, Feb 12, 2019 at 12:56:12PM +0300, sergio wrote: > On 12/02/2019 12:51, Иван Лох wrote: > > > xrandr --output XXX --auto --right-of YYY > > > > С настройками по-умолчанию он сам подхватит второй screen > > При чём тут xrandr? У xrandr'а свои скрины, у иксов свои. Используя DISPLAY=0:1 xeyes легко убедиться, что это одно и тоже Я так mpv и evince на проекторе запускаю.
Re: два вопроса по иксам
On 12/02/2019 13:02, Иван Лох wrote: При чём тут xrandr? У xrandr'а свои скрины, у иксов свои. Используя DISPLAY=0:1 xeyes легко убедиться, что это одно и тоже Что такое 0:1 ? У меня три монитора, один display и один screen: % xrandr Screen 0: minimum 320 x 200, current 3600 x 1600, maximum 8192 x 8192 DisplayPort-0 connected primary 1200x1600+1200+0 left (normal left inverted right x axis y axis) 408mm x 306mm 1600x1200 60.00*+ 1280x1024 85.0275.02 1280x960 85.00 1152x864 75.00 1024x768 85.0075.0370.0760.00 832x624 74.55 800x600 85.0672.1975.0060.3256.25 640x480 85.0175.0072.8166.6759.94 720x400 70.08 DisplayPort-1 connected 1200x1600+2400+0 left (normal left inverted right x axis y axis) 408mm x 306mm 1600x1200 60.00*+ 1280x1024 85.0275.0260.02 1280x960 85.00 1152x864 75.00 1024x768 85.0075.0370.0760.00 832x624 74.55 800x600 85.0672.1975.0060.3256.25 640x480 85.0175.0072.8166.6759.94 720x400 70.08 DisplayPort-2 connected 1200x1600+0+0 left (normal left inverted right x axis y axis) 408mm x 306mm 1600x1200 60.00*+ 1280x1024 85.0275.0260.02 1280x960 85.00 1152x864 75.00 1024x768 85.0075.0370.0760.00 832x624 74.55 800x600 85.0672.1975.0060.3256.25 640x480 85.0175.0072.8166.6759.94 720x400 70.08 DisplayPort-3 disconnected (normal left inverted right x axis y axis) Как мне запустить xeyes на втором мониторе? % Xephyr :1 -screen 640x480 -screen 640x480 % DISPLAY=:1.1 xrandr xrandr: Failed to get size of gamma for output default Screen 1: minimum 160 x 160, current 640 x 480, maximum 1600 x 1200 default connected 640x480+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1600x1200 0.00 1400x1050 0.00 1280x960 0.00 1280x1024 0.00 1152x864 0.00 1024x768 0.00 832x6240.00 800x6000.00 720x4000.00 480x6400.00 640x4800.00* 640x4000.00 320x2400.00 240x3200.00 160x1600.00 Ну и как тут настроить "xrandr --output XXX --auto --right-of YYY" если он один всего? -- sergio.
Re: два вопроса по иксам
On Tue, Feb 12, 2019 at 01:09:47PM +0300, sergio wrote: > On 12/02/2019 13:02, Иван Лох wrote: > > > > При чём тут xrandr? У xrandr'а свои скрины, у иксов свои. Действительно – разные
Re: два вопроса по иксам
Alex Kicelew wrote: > On 2/12/19 4:51 AM, Dmitry Alexandrov wrote: >> 1. Назначить что-нибудь на PgUp модифицированный «супером», а не просто на >> PgUp, ибо из коробки эти две клавиши никакого отношения друг к другу не >> имеют. >> А для этого нужно переназначить ей тип на PC_SUPER_LEVEL2: > > Хм. А будет ли она после этого работать как Super? Пардон, я двояко выразился: «ей» здесь — это «home», а не «суперу». То есть именно так, как в примере, не наоборот. :-) > Кажется, я был неправ, задав вопрос не по изначальной задаче, а по > наиболее очевидному для меня способу ее решения. Пытаюсь исправиться. Ну почему же, кажется, вполне правы. На уровне Линукса это, насколько я знаю, не сделать. На уровне хорошего оконного диспетчера это решаться должно, но авторы вашего xmonad’а, как я понял, считают иначе. Остаются Иксы. > Но Super_L сам по себе широко используется ..., и лишаться его я не готов ни > морально, ни аморально. Да, я догадался, потому и не стал советовать менее муторный overlay вместо RedirectKey(). signature.asc Description: PGP signature
Re: два вопроса по иксам
Dmitry Alexandrov <321...@gmail.com> wrote: > Alex Kicelew wrote: >> On 2/12/19 4:51 AM, Dmitry Alexandrov wrote: >>> 1. Назначить что-нибудь на PgUp модифицированный «супером», а не просто на >>> PgUp, ибо из коробки эти две клавиши никакого отношения друг к другу не >>> имеют. >>> А для этого нужно переназначить ей тип на PC_SUPER_LEVEL2: >> >> Хм. А будет ли она после этого работать как Super? > > Пардон, я двояко выразился: «ей» здесь — это «home», а не «суперу». Тьфу ты. В смысле «pgup»’у. > То есть именно так, как в примере, не наоборот. :-) Да, пошел пример проверил — у меня работает. И да, еще должен предупредить, конфигурация XKB передергивается udev’ом при подключении новой клавиатуры. То есть если это актуально, то просто прописать ‘xkbcomp...’ в ~/.Xsession недостаточно. И насколько я понял, единственный способ решить это без явных костылей — это таки править /usr/share/X11/xkb/, и из под пользователя вызвать уже не xkbcomp(1), а setxkbmap(1), см. [0]. Если найдете более чистый способ — обязательно поделитесь. [0] https://bugs.debian.org/561185 signature.asc Description: PGP signature
Re: два вопроса по иксам
Прошу прощения за паузу, немного засосало реалом. On 2/12/19 11:43 PM, Dmitry Alexandrov wrote: > Да, пошел пример проверил — у меня работает. Да, работает как надо, большое спасибо. > И да, еще должен предупредить, конфигурация XKB передергивается udev’ом при > подключении новой клавиатуры. То есть если это актуально, то просто > прописать ‘xkbcomp...’ в ~/.Xsession недостаточно. И насколько я понял, > единственный способ решить это без явных костылей — это таки править > /usr/share/X11/xkb/, и из под пользователя вызвать уже не xkbcomp(1), а > setxkbmap(1), см. [0]. Если найдете более чистый способ — обязательно > поделитесь. Это еще буду думать. Но навскидку я не вижу большого вреда в создании собственного файла в /usr/share/X11/xkb и подключении его setxkbmap-ом.
Re: два вопроса по иксам
Alex Kicelew wrote: > Да, работает как надо, большое спасибо. Да всегда пожалуйста. >> И да, еще должен предупредить, конфигурация XKB передергивается udev’ом при >> подключении новой клавиатуры. То есть если это актуально, то просто >> прописать ‘xkbcomp...’ в ~/.Xsession недостаточно. И насколько я понял, >> единственный способ решить это без явных костылей — это таки править >> /usr/share/X11/xkb/, и из под пользователя вызвать уже не xkbcomp(1), а >> setxkbmap(1), см. [0]. Если найдете более чистый способ — обязательно >> поделитесь. > > Это еще буду думать. Но навскидку я не вижу большого вреда в создании > собственного файла в /usr/share/X11/xkb и подключении его setxkbmap-ом. А разве этого возможно? Мне помнилось, что файл (в системах с Линуксом это вернее всего будет /usr/share/X11/xkb/rules/evdev.lst) придется именно _править_ и огораживать dpkg-divert(1)’ом. signature.asc Description: PGP signature
Re: два вопроса по иксам
On 2/17/19 10:58 AM, Dmitry Alexandrov wrote: >> Это еще буду думать. Но навскидку я не вижу большого вреда в создании >> собственного файла в /usr/share/X11/xkb и подключении его setxkbmap-ом. > А разве этого возможно? Мне помнилось, что файл (в системах с Линуксом это > вернее всего будет /usr/share/X11/xkb/rules/evdev.lst) придется именно > _править_ и огораживать dpkg-divert(1)’ом. Я пока еще не уверен на 100%, но вроде, править надо, если хочется подключить дополнительные возможности через -option. Если же сделать "головные" файлы, которые сами включают в себя все остальные, то можно обойтись и без правки. (прошу прощения за копию в личку, не уследил спросонья)
Правка xkb/rules без dpkg-divert(1) (Ex: два вопроса по иксам)
Alex Kicelew wrote: > On 2/17/19 10:58 AM, Dmitry Alexandrov wrote: >>> Это еще буду думать. Но навскидку я не вижу большого вреда в создании >>> собственного файла в /usr/share/X11/xkb и подключении его setxkbmap-ом. >> А разве этого возможно? Мне помнилось, что файл (в системах с Линуксом это >> вернее всего будет /usr/share/X11/xkb/rules/evdev.lst) придется именно >> _править_ и огораживать dpkg-divert(1)’ом. > > Я пока еще не уверен на 100%, но вроде, править надо, если хочется > подключить дополнительные возможности через -option. Если же сделать > "головные" файлы, которые сами включают в себя все остальные, то можно > обойтись и без правки. А что это за «головные» файлы? Помимо «опций» есть еще «модель» и «раскладка», и они описаны все вместе там же — в /usr/share/X11/xkb/rules/ (я сказал ‘evdev.lst’, когда скорее надо было просто ‘evdev’). signature.asc Description: PGP signature
Re: Правка xkb/rules без dpkg-divert(1) (Ex: два вопроса по иксам)
On 2/17/19 12:13 PM, Dmitry Alexandrov wrote: >> Я пока еще не уверен на 100%, но вроде, править надо, если хочется >> подключить дополнительные возможности через -option. Если же сделать >> "головные" файлы, которые сами включают в себя все остальные, то можно >> обойтись и без правки. > > А что это за «головные» файлы? Помимо «опций» есть еще «модель» и > «раскладка», и они описаны все вместе там же — в /usr/share/X11/xkb/rules/ (я > сказал ‘evdev.lst’, когда скорее надо было просто ‘evdev’). Единственным параметром в -layout. Сейчас проверил -- вроде, такой файл работает: partial modifier_keys xkb_symbols "pgupdn" { include "pc+us+ru:2+inet(evdev)+ctrl(nocaps)+compose(prsc)" replace key { type = "PC_SUPER_LEVEL2", symbols = [ Prior, NoSymbol ], actions = [ NoAction(), RedirectKey(key=, clearmods=mod4) ] }; replace key { type = "PC_SUPER_LEVEL2", symbols = [ Next, NoSymbol ], actions = [ NoAction(), RedirectKey(key=, clearmods=mod4) ] }; }; (строка с инклюдом получена из вывода команды setxkbmap из .xsession с добавленным -print) Работает -- через "setxkbmap -layout этот-файл" без каких-либо дополнительных параметров. Никакие файлы в /usr/share/X11/xkb не правились, только добавился новый, про который dpkg ничего не знает. Но руки поискать и внимательно почитать документацию у меня еще не дошли, поэтому полную легальность такого метода я гарантировать не могу.
Re: Правка xkb/rules без dpkg-divert(1) (Ex: два вопроса по иксам)
Alex Kicelew wrote: > Единственным параметром в -layout. Сейчас проверил -- вроде, такой файл > работает: > > partial modifier_keys > xkb_symbols "pgupdn" { > include "pc+us+ru:2+inet(evdev)+ctrl(nocaps)+compose(prsc)" > replace key { > type = "PC_SUPER_LEVEL2", > symbols = [ Prior, NoSymbol ], > actions = [ NoAction(), RedirectKey(key=, clearmods=mod4) ] > }; > replace key { > type = "PC_SUPER_LEVEL2", > symbols = [ Next, NoSymbol ], > actions = [ NoAction(), RedirectKey(key=, clearmods=mod4) ] > }; > }; > > (строка с инклюдом получена из вывода команды setxkbmap из .xsession с > добавленным -print) > > Работает -- через "setxkbmap -layout этот-файл" без каких-либо > дополнительных параметров. Никакие файлы в /usr/share/X11/xkb не > правились, только добавился новый, про который dpkg ничего не знает. А ведь действительно, это, кажется, прокатывает без правки xkb/rules. И тогда совершенно ни к чему стремиться делать эту раскладку единственной. Ведь вот уберите этот include и прикажите: $ setxkbmap -layout 'pc+inet(evdev)+us:1+ru:2+homeend(pgupdn)' — ведь работает точно так же? У меня так же. signature.asc Description: PGP signature
Re: Правка xkb/rules без dpkg-divert(1) (Ex: два вопроса по иксам)
On 2/17/19 3:42 PM, Dmitry Alexandrov wrote: > А ведь действительно, это, кажется, прокатывает без правки xkb/rules. И > тогда совершенно ни к чему стремиться делать эту раскладку единственной. > Ведь вот уберите этот include и прикажите: > $ setxkbmap -layout 'pc+inet(evdev)+us:1+ru:2+homeend(pgupdn)' > — ведь работает точно так же? У меня так же. Угу. А еще у setxkbmap есть параметр -I, который я, правда, еще не пробовал, но возможно, с ним удастся вообще не трогать системную директорию (с необходимостью помнить о ее бэкапе и восстановлении), а обойтись поддиректорией в $HOME.