Отображение супер-ключей для управления в xorg.conf?

Я пытался переключить свои супер-клавиши и клавиши управления в X на MacBook и был наполовину успешным. Я бы хотел избежать создания пользовательского .Xmodmap, если это возможно, поскольку существует временная ошибка 100% процессора, которая появляется каждый раз при загрузке пользовательской карты.

После некоторых копаний я закончил тем, что поместил опцию «XkbOptions» «altwin: ctrl_win» в мой файл 01-keyboard-layout.conf, который помог мне на полпути: например, левая команда теперь отображается на 133 Control_L.

Однако клавиши управления остались прежними. Левый элемент управления, например, по-прежнему отображается на 37 Control_L.

Просматривая evdev.lst (и кучу поисковиков в Google), не было обнаружено ни одного подходящего XkbOption для превращения управляющих клавиш в суперсистемы, и теперь я довольно застрял.

Любые идеи?


person jake madison    schedule 30.12.2012    source источник


Ответы (1)


Хорошо, я наконец-то заставил это работать.

Во-первых, эти два ресурса прекрасны для всех, кто хочет вникнуть в эту неразбериху:

http://madduck.net/docs/exnding-xkb/ & http://www.charvolant.org/~doug/xkb/html/index.html

Для тех, кто специально пытается сделать это переключение, я сделал следующее:

1) создайте файл в / usr / share / X11 / xkb / symbols для вашего нового сопоставления 2) поместите в него следующее:

// Control is SWAPPED with Win-keys 
partial modifier_keys
xkb_symbols "cmd_n_ctrl" {
    key <LWIN> {        [       Control_L               ]       };
    key <RWIN> {        [       Control_R               ]       };
    key <LCTL> {       [       Super_L         ]       };
    modifier_map Control { <LWIN>, <RWIN> };
    modifier_map Mod4 { <LCTL> };
};

3: отредактируйте evdev в / usr / share / X11 / xkb / rules, чтобы включить:

altwin2:cmd_n_ctrl               =       +altwin2(cmd_n_ctrl)

(в разделе option = symbols)

4: добавьте новую опцию в evdev.lst (тот же каталог):

altwin2:cmd_n_ctrl

(в разделе опций)

5: теперь отредактируйте файл 01-Keyboard conf, чтобы включить в него новую опцию, которую вы создали. Мой выглядит так:

Section "InputClass"
        Identifier "keyboard-layout"
        Driver "evdev"
        MatchIsKeyboard "yes"
        Option "XkbLayout" "us, ru, ca, fr"
        Option "XkbOptions" "altwin2:cmd_n_ctrl"
EndSection

6: перезагрузитесь, и все будет в порядке.

Вышеупомянутые ресурсы лучше объясняют все это или любые препятствия, с которыми вы можете столкнуться. Вероятно, есть гораздо лучший способ сделать это (вероятно, не изменять содержимое / usr / share), но пока это то, что меня заставило работать.

Надеюсь, это поможет кому-то другому застрять в этом месте!

person jake madison    schedule 05.01.2013
comment
Привет, я на самом деле пытаюсь следовать этому, чтобы переназначить колпачки на ctrl (Ubuntu 15.04 на Virtual Box). По какой-то причине моя клавиша ctrl была сопоставлена ​​с super, а клавиша Command - с Ctrl. За исключением того, что нажатие Command-C не копирует, а просто печатает c char. Где будет файл конфигурации 01-Keyboard? Это единственное, что мне не хватает. - person Sid; 22.05.2016