Как привязать клавишу AltGr + к символу?

Это не самое корректное решение, но необходимо смочь установить CentOS путем обманывания Bootcamp.

Вам был бы нужен диск Windows для мастера Bootcamp для установки диска, затем когда он перезагружает, удерживают извлечь клавишу во время звона, чтобы выгнать диск Windows и ввести CentOS. Установка, только использующая пространство, выделяется для bootcamp раздела. После того как установка завершается, удостоверьтесь, что Загрузочный диск в значениях по умолчанию Установок системы к CentOS устанавливает. Если необходимо вернуться к OSX, содержат опцию при начальной загрузке.

Вы не имеете к, но можно затем развернуть CentOS для взятия целого раздела с помощью GParted Живой CD. Бойтесь изменять зарезервированные разделы efi, если Вы принимаете решение расшириться, только расшириться в основной раздел, который использовала OSX. В OSX Вы видите, какой раздел выполняет ОС с помощью команды diskutil list в Терминале. Если бы это был я, то я оставил бы OSX неповрежденный с очень небольшим количеством пространства в случае, если Apple продвинула микропрограммные обновления позже, который обычно происходит несколько разы во время жизни продукта.

Я сделал это прежде с концом MBP 2008 года так, надо надеяться, он все еще работает более свежие модели.

5
21.05.2015, 01:01
3 ответа

Вы можете взломать, что с пользовательской картой XKB. Я рекомендую вам выбросить текущую карту с Dump.xkb , отредактируйте его и загрузите его XKBCOMP NewMap.xkb $ Display . Дамп файл довольно большой и много лишних информации.

Самый простой способ пойти в редактирование - это посмотреть, как Altgr используется на вашей текущей карте. Обычно это модификатор ISO_level3. Если ваш текущий keymap не использует Altgr, вы можете попробовать загрузку, который делает, чтобы увидеть, как это можно сделать. Например -Layout US -Variant Altgr-Intl довольно обширно и имеет большинство, если не все европейские ключевые ключи связаны. Ниже приведен короткая грунтовка того, что происходит.

XKB Получает KeyCodes из ядра, устанавливает метку для каждого и использует эти клавиши метки и модификатора для решения того, что он должен выводить Keysym. Каждый ключ имеет назначенный ему тип, который определяет, какие ключи модификатора он ожидает и что выводить для каждой комбинации. Глядя на свалку у вас с XKBCOMP : Этикетки определены в XKB_KeyCodes , типы в XKB_TYPES и метки к кэбрам в XKB_SYMBOLS Отказ Из них xkb_symbols - это тот, который вы хотите редактировать и ссылаться на два других, чтобы узнать, что изменять. Вы также можете просто посмотреть на XKB_SYMBOLS и найдите, как это сделано в настоящее время и редактировать в зависимости от ситуации.

Секция XKB_TYPES Удерживает разные уровни модификатора для определений ключей, и вы захотите одно, которое имеет режимы Altgr и Shift. Пример:

type "FOUR_LEVEL_ALPHABETIC" {
    modifiers= Shift+Lock+LevelThree;
    map[Shift]= Level2;
    map[Lock]= Level2;
    map[LevelThree]= Level3;
    map[Shift+LevelThree]= Level4;
    map[Lock+LevelThree]= Level4;
    map[Shift+Lock+LevelThree]= Level3;
    level_name[Level1]= "Base";
    level_name[Level2]= "Shift";
    level_name[Level3]= "Alt Base";
    level_name[Level4]= "Shift Alt";
};

Это означает, что ключ, помеченный как four_level_alphabetic , имеет четыре режима. Нормально, Shift / Caps, Altgr, Altgr-Shift, который звучит как то, что вы ищете.

Теперь вы хотите узнать, какой ключевой код для W - это если вы этого не знаете. XEV | GreeP -A2 --line-буферизованная '^ keyrelease' | SED -N '/ keycode /s/^.*keyCode \ ([0-9] * \). * (. *, \ (. * \)). * $ / \ 1 \ 2 / p' Дает вам файльный код для ключей, которые вы нажимаете. GREP , чтобы сделать выпуск более читаемым.

Перекрестная ссылка Ключевой код, который вы получили с XKB_KeyCodes раздел карты дамп, который вы получили ранее. Для меня W придает ключевом коде 25. Менее Дамп и найдите правильный ключевой код в форме = ##; , Пример = 25; . Или Cat Dump.xkb | GREP '= 25; « Метка - это просто имя XKB, использует для ссылки клавиши в более поздних разделах.

Теперь, когда у вас есть лейбл, перейдите в XKB_SYMBOLS , которые на самом деле отображают метки к Keysyms. Формат

key <AD02> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [  w, W, aring, Aring ]
    };

тип = - это тип, который вы хотите из XKB_TYPES XKB_TYPES XKB_TYPES , символов [GROUP1] = имеет один Keysym для каждого из мод, требуемых типа. Опять же, Normal, Shift / Caps, Altgr, Shift-Altgr для этого типа. [GROUP1] , насколько я понял, это способ использования нескольких Ke'maps, вы можете изменить на лету с помощью клавиши блокировки. Я не использую группы сами, так что все для меня Group1.

Чтобы найти все разные Keysyms, которые вы можете использовать здесь, проверьте /usr/include/x11/keysymdef.h . Две символы, которые вы ищете AE для æ и AE для æ.

key <AD02> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [  w, W, ae, AE ]
    };

Я мог немного размотать. Проверьте страницу [118448] страниц Archi Wiki на XKB, это хорошие вещи, независимо от того, какую ОС или дистрибутив вы используете.

2
27.01.2020, 20:38

Это легко сделать с помощью xmodmap. Вы можете использовать директиву keysym для изменения кейсимов, связанных с ключом. Это влияет на все ключи, которые в настоящее время посылают этот кейсим с любой комбинацией модификаторов. Для обычных печатных символов, четыре клавиши - это клавиши для "голого" ключа, клавиша с Shift, клавиша с AltGr и клавиша с AltGr+Shift соответственно.

keysym A = a A aring Aring
keysym O = o O oslash Ooblique
keysym W = w W ae AE

Поместите эти директивы в файл, например, ~/.Xmodmap, и загрузите их с помощью xmodmap ~/.Xmodmap. Файл с именем ~/.Xmodmap автоматически загружается при входе в систему в некоторых средах (это зависит от варианта unix и окружения рабочего стола).

Имена ключей находятся в /usr/share/X11/locale/en_US.UTF-8/Compose или /usr/include/X11/keysymdef.h (местоположения Debian могут отличаться на других системах). Если вы не знаете имя кейсима для символа, вы можете использовать его номер в Юникоде: U, за которым следуют шестнадцатеричные цифры, например

keysym W = w W U00e6 U00c6
4
27.01.2020, 20:38

В файле символа (/ usr / share / X11 / xkb / symbols / XY ) под вашим вариантом клавиатуры найдите строку {[w, W, . Эти два, очевидно, соответствуют строчным и прописным буквам w. Теперь после них третья и четвертая записи соответствуют тому, что вы получаете, когда нажимаете AltGr + w и AltGr + Shift + w соответственно.

Вам следует просто заменить эти третий и четвертый символы желаемыми или, если они отсутствуют, добавить их.

Согласно Википедии, их (ae, AE) точки юникода - это U + 00E6 и U + 00C6 соответственно, поэтому ваша новая отредактированная строка вашего файла символов должна быть (без знака +).

{ [         w,          W,   U00E6,   U00C6 ]   };

Обновление системы, обновляющее этот файл перезаписывает его, поэтому вам лучше сохранить копию этого отредактированного файла где-нибудь в вашем доме, и всякий раз, когда он перезаписывается обновлением, замените его командой

sudo cp /YOUR/BACKUP/SYMBOL_FILE /usr/share/X11/xkb/symbols/SYMBOL_FILE
0
27.01.2020, 20:38

Теги

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