4

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

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

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

2 ответа2

6

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
1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .