Skip to content

a13/xkb-custom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Что это?

Универсальная кириллическая(если быть точным: ru/ua/by) раскладка для X-ов. Особенностью является то, что знаки пунктуации находятся на тех же клавишах, что и в английской (us).

Зачем?

Чтобы при наборе знаков пунктуации не задумываться про текущую раскладку.

Минусы:

  1. некоторые символы прихошлось перетащить на 3 уровень, для русского языка пришлось пожертвовать «юэщжёцфъ»(в старой версии «юэщжёцйъ»).
  2. как следствие их достаточно тяжело набирать одной рукой. Как воркэраунд можно включить режим sticky modifiers.
  3. раскладка немного отличается от «йцукен»,

Кандидаты на перенос «наверх» тщательно выбирались из соображений минимальной частотности использования и как можно меньшей разницы с «йцукен». Таким образом, из наиболее часто используемых 26 букв радикально “переехали” только «жбх», «ф» осталась на той же клавише, только на другом уровне.

Раскладки для украинского/беларусского языков для меня вторичны, так что символы из них, отсутствующие в русском, тоже на третьем уровне. Было бы неплохо сделать альтернативные варианты с «і/ы» (украинский) и «і/и» (беларусский), но пока нет времени.

Использование

Инсталляция

cd /path/to/repo/dir
git clone https://github.com/a13/xkb-custom.git
ln -sf `pwd`/xkb-custom ~/.xkb

Настройка X-ов

Чтобы не приходилось лезть в системные файлы (которые всё равно перезаписываются при обновлении), приходится использовать такой костыль в автозагрузке(например в ~/.xsession):

# сброс старых настроек
setxkbmap us -option
# минимальный вариант (главное - забидить клавишу-модификатор для 3 уровня).
setxkbmap us,rup -option "lv3:menu_switch" -print | xkbcomp -I"$HOME/.xkb" - "$DISPLAY"

Все возможные(в базовой) варианты выбора модификаторов можно посмотреть командой

grep lv3: /usr/share/X11/xkb/rules/base.lst

Настройка Emacs (при необходимости):

например так:

(add-to-list 'load-path "~/.xkb/contrib")
(require 'unipunct)

или автоматически с помощью Quelpa (использование master из чужого репозитория в общем случае небезопасно, возможно лучше указывать конкретный хэш)

(use-package unipunct
  :quelpa
  (unipunct
   :url "https://raw.githubusercontent.com/a13/xkb-custom/master/contrib/unipunct.el"
   :fetcher url))

После этого для использования будет доступен метод ввода “russian-unipunct-ng” (главное не забыть установить default-input-method или активировать с помощью reverse-im).

Схема раскладки

новый вариант

Изменения:

  • Й вернулась на старую клавишу
  • Ф перешла на 3й уровень старой клавиши, под Х
  • Э под З
  • Є под Е
+----------------------------------------------------------------+
| 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | -_ | =+ | ’~ |
+----------------------------------------------------------------+
  |йЙїЇ| бБ |уУюЮ| кК |еЕєЄ| нН |гГґҐ|шШщЩ | жЖ |зЗэЭ| [{ | }] |
  +------------------------------------------------------------+
   |хХфФ|ыЫіІ|вВўЎ| аА | пП |рР₽₴|оОёЁ| лЛ | дД | ;: | '" | \| |
   +-----------------------------------------------------------+
       | яЯ |чЧцЦ| сС | мМ | иИ | тТ |ьЬъЪ| ,< | .> | /? |
       +-------------------------------------------------+

старый вариант

+----------------------------------------------------------------+
| 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | -_ | =+ | ’~ |
+----------------------------------------------------------------+
  |ххїЇ| бБ |уУюЮ| кК |еЕэЭ| нН |гГґҐ|шШщЩ | жЖ |зЗєЄ| [{ | }] |
  +------------------------------------------------------------+
   | фФ |ыЫіІ|вВўЎ| аА | пП | рР |оОёЁ| лЛ | дД | ;: | '" | \| |
   +-----------------------------------------------------------+
       |яЯѣѢ|чЧцЦ| сС | мМ |иИйЙ| тТ |ьЬъЪ| ,< | .> | /? |
       +-------------------------------------------------+

  • [ ] Ukrainian-first variant (swap i/ы?)
  • [ ] Literate the sources
  • [ ] Generate all layouts(xkb/emacs) from one source
  • [ ] Support other OSes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published