Клавиатура Linux, Ubuntu и Apple Aluminium: переназначение большего / меньшего с тильдой

У меня есть клавиатура Apple Aluminium. Слева от 1 клавиши у меня есть клавиша меньше / больше (<>), а не могила / тильда (`~).

xmodmap у меня не работает: переключение раскладки (сделано с setxkbmap) сбрасывает мои изменения xmodmap. .Xmodmap файл тоже не помогает.

Как мне переназначить тильду?

2 ответа

Решение

xmodmap Way

Сначала проверьте это.

Вот моя версия .xsession:

#! /usr/bin/env sh
GTK_IM_MODULE=xim
QT_IM_MODULE=xim
xmodmap ~/.Xmodmap-Apple

и соответствующий ~/.Xmodmap-Apple (для русской версии):

keycode 94 = grave asciitilde Cyrillic_io Cyrillic_IO
keycode 191 = Print Sys_Req Print Sys_Req Print Sys_Req
keycode 192 = Scroll_Lock NoSymbol Scroll_Lock NoSymbol Scroll_Lock
keycode 193 = Pause Break Pause Break Pause Break
keycode 49 = less greater less greater
keycode 108 = Multi_key Alt_L Multi_key Alt_L

путь setxkbmap

В Linux setxkbmap используется для переключения раскладок клавиатуры. Увы, setxkbmap & xmodmap не могут работать вместе: они сбрасывают изменения друг друга:(Вам нужно будет выбрать одно из:

  • Просто не переключайте раскладки
  • взывать xmodmap после каждого переключения макета (или сделать замену скрипта setxkbmap)
  • модифицировать xkb сопоставления клавиш для вашей клавиатуры.

Мы будем использовать последний. Сначала проверьте, какой макет вы используете:

$ setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete+caps(internal)"       };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+us+ru:2+inet(evdev)+altwin(meta_win)+group(alt_shift_toggle)+compose(ralt)+eurosign(e)+terminate(ctrl_alt_bksp)+macintosh_vndr/apple(alupckeys)"    };
        xkb_geometry  { include "pc(pc104)"     };
};

Вот ваша карта символов: xkb_symbols ... macintosh_vndr/apple(alupckeys)

В Ubuntu у нас есть отображение для клавиатур apple здесь: '/ usr / share / X11 / xkb /symbols / macintosh_vndr / apple'. Сначала сделайте резервную копию этого файла. Этот файл имеет несколько разделов, каждый из которых начинается так:

xkb_symbols "extended" {
xkb_symbols "laptop" {
xkb_symbols "laptop_bad_switch" {
xkb_symbols "alukbd" {
xkb_symbols "alupckeys" {

Последнее сопоставление, "alupckeys", заменяет F13-F15 на PrintScreen, ScrollLock, Pause. Используйте его, если вам не хватает этих ключей:)

Выберите раздел, который вы получили из вывода команды выше, и добавьте следующий перед финальным } раздела:

    key <LSGT> { [ grave, asciitilde, grave, asciitilde ] };
};

Теперь перезапустите X. Yeehaw, наслаждайтесь положением клавиши тильды в нужное место:)

Эта команда также может помочь:

$ setxkbmap -option "apple:alupckeys" -print | xkbcomp - $DISPLAY

В официальной документации по Ubuntu есть страница, посвященная этой теме: Apple Keyboard

Здесь перечислены несколько исправлений в соответствии с вашей версией Ubuntu.

Другие вопросы по тегам