Для чего модификатор Mode_switch?

Из visudo страницы справочника:

visudo блокирует sudoers файл против нескольких одновременных редактирований, обеспечивает основные проверки работоспособности и проверяет на ошибки анализа. Если sudoers файл будет в настоящее время отредактирован, то Вы получите сообщение, чтобы попробовать еще раз позже.

Также проверьте этот ответ от serverfault.

31
13.04.2017, 15:36
2 ответа

Mode_switch (pre-XKB) название старого стиля ключа, который называют AltGr на многих раскладках клавиатуры. Это подобно Сдвигу, в том, что при нажатии клавиши, которая соответствует символу, Вы получаете другой символ, если Сдвиг или AltGr также нажимаются. В отличие от этого, Shift, Mod_switch не модификатор в смысле X11, потому что он обычно относится к символам, не к функциональным клавишам, таким образом, приложения только должны выполнить символьный поиск для получения желаемого эффекта.

ISO_Level3_Shift версия XKB этого ключа. Вообще говоря, XKB намного более сложен и может сделать некоторый дополнительный необычный материал. Механизм XKB является более общим, поскольку он позволяет раскладкам клавиатуры варьироваться, в котором ключи, под влиянием которых модификаторов, он делает вывод липкий (CapsLock-стиль) и одновременное нажатие (Shift-style) модификаторы и так далее.

30
27.01.2020, 19:38
  • 1
    Большой знать это ISO_Level3_Shift может действовать 'липко', я искал ту функциональность долгое время: unix.stackexchange.com/questions/39014 / … –  vemv 08.11.2012, 01:06
  • 2
    @Gilles Так, AltGr и Mode_switch те же ключи? В противном случае в этой ссылке, они звучат, как будто они - то же самое. Вы могли разъяснить это немного? –  Utku 18.10.2015, 21:13
  • 3
    @Utku Mode_switch и ISO_Level3_Shift сделайте то же самое немного отличающимися способами. Я не утверждаю, что понял различия; большую часть времени они не имеют значения, но я действительно помню, что смешивание xmodmap с XKB называет иногда вызываемые модификаторы, чтобы не работать правильно. –  Gilles 'SO- stop being evil' 18.10.2015, 22:23
  • 4
    @Gilles, я также не понимаю различий, но я заканчиваю любой с us(cz_sk_de) функции или с пользовательскими xmodmap отображениями для некоторых ключей (запятая, например), в зависимости от ли AltGr Mode_switch или ISO_Level3_Shift но не может получить обе функции одновременно. –  Pavel Šimerda 01.10.2016, 22:27
  • 5
    , который не Липкие ключи CapsLock- стиль. Липкие ключи называют “фиксатором”, и ключи блокировки называют блокировками. Липкие клавиши отпускаются после того, как следующий немодификатор нажимается, в то время как ключи блокировки в действительности, пока они не нажимаются снова. –  Guildenstern 10.11.2017, 02:01

Этот ответ не противоречит ответу @Gilles, но является предназначен для описания другого аспекта обработки ввода, который, как мне кажется, "недостаточно освещен" в его ответе.

Вы можете использовать оба ISO_Level3_Shift (Alt-Gr) и Mode_switch одновременно с разными результатами . Требуется некоторая конфигурация, но вы можете иметь их оба и использовать их для создания 6 разных клавиш для каждой клавиши физической клавиатуры!

Вы можете, например, сконфигурируйте вкладку как Mode_switch при удерживании с и , затем, например,клавиша с пометкой «H» на клавиатуре может воспроизводить следующие символы / клавиши:

h
H
← (Курсор)
← (Символ)

с H
с Shift H
с AltGr H
с AltGr Shift H
с ] Tab H
с Tab Shift H

Итак, возвращаясь к вашему вопросу: IL3S и Mode_switch могут быть сконфигурированы так, чтобы означать разные вещи, поэтому у вас могут быть клавиши курсора и ~ 200 полезных символов из (с диакритическими знаками) языков, рисование в рамке и набор технических символов на 35 клавишах из 3-х буквенных рядов.

Для выполнения вышеуказанного:

# Initial Setup
xmodmap -e 'keycode 23 = Mode_switch ISO_Left_Tab Tab ISO_Left_Tab Tab ISO_Left_Tab'
xmodmap -e 'keycode any = Tab'
xcape -e "Mode_switch=Tab"

пример для H :

xmodmap -pke | grep 'h H'
# Make note of the keycode, note the 8 columns after the `=`,
# then edit and feed back into xmodmap with:
xmodmap -e 'keycode  43 = h H lowrightcorner uprightcorner Left leftarrow h H'
13
27.01.2020, 19:38

Теги

Похожие вопросы