Сделайте специальные символы доступными на американской клавиатуре Wayland

2352
frans

У меня есть американская клавиатура и раскладка, но иногда мне нужны специальные немецкие клавиши (äÄöÖüÜß). Конечно, я мог переключать раскладки клавиатуры, когда мне это нужно, но раньше я использовал эту совершенно бесполезную клавишу блокировки прописных букв, чтобы получить доступ к нужным символам, используя следующее ~/.Xmodmap:

keycode 66 = Mode_switch Multi_key keycode 20 = minus underscore ssharp keycode 34 = bracketleft braceleft udiaeresis Udiaeresis keycode 47 = semicolon colon odiaeresis Odiaeresis keycode 48 = apostrophe quotedbl adiaeresis Adiaeresis 

По какой-то странной причине поведение клавиатуры изменилось, когда Fedora переключилась на Wayland. Теперь моя (волшебная) раскладка клавиатуры работает только иногда, и клавиша caps lock снова действует как locker :(

Есть ли Wayland awareспособ сделать (немецкие) специальные символы доступными на клавиатуре США? (Или же сделать []{}|<>доступным одним нажатием клавиши на немецкой клавиатуре)

5

2 ответа на вопрос

6
quixotic

Wayland использует XKB, но способ задания макета зависит от вашего композитора (вы не можете использовать его setxkbmapили xkbcompкак в Xorg). Возможно, вам понадобится altgr-intlвариант стандартного usмакета (международный макет в США) и, возможно, некоторые параметры: «Создать» (иначе Multi_key), возможно, с помощью клавиши меню? AltGr на правой клавише Alt? ( intlВариант аналогичен, но включает в себя «мертвые клавиши» на уровне 1; « altgr-intlмертвые клавиши» размещаются на уровне 3, поэтому они не доступны, но все еще доступны.)

В соответствии с этим макетом и вариантом большинство перечисленных вами символов удобно доступны под клавишами AltGr или Compose:

AltGr+q = ä AltGr+Shift+a = Ä Compose+",a = ä Compose+",A = Ä AltGr+p = ö AltGr+Shift+p = Ö Compose+",o = ö Compose+",O = Ö AltGr+y = ü AltGr+Shift+y = Ü Compose+",u = ü Compose+",U = Ü AltGr+s = ß Compose+s,s = ß 

Для Weston вы бы добавили настройки в $HOME/.config/weston.ini:

[keyboard] keymap_rules=evdev keymap_layout=us keymap_variant=altgr-intl keymap_options=compose:menu,level3:ralt_switch 

Для sway (как в i3) вам нужно установить переменные окружения перед выполнением, либо объединенные в цепочку в командной строке, либо в вспомогательном скрипте:

#!/bin/sh export XKB_DEFAULT_LAYOUT=us export XKB_DEFAULT_VARIANT=altgr-intl export XKB_DEFAULT_OPTIONS=compose:menu,level3:ralt_switch sway 

В GNOME вам нужно будет проконсультироваться с вашим любимым gsettingsили dconfвнешним интерфейсом. Вы можете указать параметры XKB в /org/gnome/desktop/input-sources/xkb-optionsи конкретные макеты в /org/gnome/desktop/input-sources/sources. (Возможно, они изменились с момента публикации; проверьте существующие настройки.)

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+altgr-intl')]" gsettings set org.gnome.desktop.input-sources xkb-options "['compose:menu','lv3:ralt_switch']" 

KDE использует собственную графическую панель управления; Вы найдете это в Системных настройках> Оборудование> Устройства ввода> Клавиатура . Вкладка « Макеты » позволит вам настроить altgr-intlвариант (он указан как «английский (международные мертвые ключи AltGr)»), а параметры XKB перечислены на вкладке « Дополнительно ».

В текущей версии KDE Frameworks 5 эта панель управления сохраняет настройки в $HOME/.config/kxkbrc.


Если ваша система использует systemd, localectlвы можете попытаться установить то, что вам нужно, и GNOME / KDE сможет найти его оттуда. Это может только изменить положение вещей для Xorg в настоящее время, но мне нравится использовать его в качестве запасного варианта, и я надеюсь, что компоновщики Wayland будут использовать его в будущих выпусках для выбора общесистемных предпочтений.

sudo localectl set-x11-keymap us pc105 altgr-intl compose:menu,level3:ralt_switch (format: [layout] [model] [variant] [options]) 
Моддинг `org.gnome.desktop.input-sources.xkb-options` с /` compose: menu` через редактор dconf работал для меня, tyvm lkraav 6 лет назад 0
Спасибо. Я бы предпочел сочинение в стиле «Windows», когда нет необходимости нажимать клавишу «Создать». Однако это подойдет, и я мог бы научиться использовать ключ 3-го уровня. Rolf 6 лет назад 0
@ Рольф, я не уверен, что ты имеешь в виду под словом "стиль Windows", извини. если вы имеете в виду «deadkeys» (то есть нажмите «», затем «e», чтобы получить «é»), это вариант «intl», а не «altgr-intl». с deadkeys вы должны нажать на deadkey дважды, чтобы получить реальный символ, что неудобно для меня. quixotic 6 лет назад 0
0
Jeff Zeitlin

Одной из возможностей может быть изменение клавиатуры по умолчанию с английского (США) на английский (международный). Я делаю это на всех компьютерах, над которыми у меня есть достаточный контроль, и это позволяет мне использовать некоторые знаки препинания в качестве акцентов «мертвого ключа» для получения общих неанглоязычных символов.

В Windows это преобразует правую клавишу Alt в AltGr, и в сочетании с определенными нажатиями клавиш я получаю связанные не английские символы, такие как AltGr + s для sharp-s, AltGr + t для исландского шипа, AltGr + d для исландского эдх и другие.

Для «мертвой клавиши» большинство знаков препинания удваивается в качестве акцентов - чтобы получить e-острый, введите 'затем e; o-sharp 'затем o, a-grave', затем a, u-umlaut ", затем u и т. д. Чтобы получить пунктуацию, нажмите символ, с которым он не сочетается в качестве ударения, или нажмите пробел - апостроф - «затем пробел; двойная кавычка / дюймовая метка -« затем пробел и так далее ». Это немного подстроено, но намного проще, чем запоминание alt-кодов (в Windows) или постоянное переключение между макетами.

(С тех пор я сделал это в Linux Mint «из коробки»; по модулю некоторые незначительные различия в расположении некоторых символов AltGr, он имеет тот же эффект - но это не очень хороший Wayland ).

не знаю, почему за тебя проголосовали ... frans 6 лет назад 0
@frans - Мех. Вероятно, потому, что «Wayland» - это Linux, и я описал клавиатуру US-I в Windows. Jeff Zeitlin 6 лет назад 0
Я хотел бы сделать это в Linux. Rolf 6 лет назад 0
@Rolf - С тех пор я делал это в Linux Mint, но мне нужно было выкопать этот ноутбук, когда я вернусь домой, и вспомнить, как это не так, ttbomk, Wayland, но он в значительной степени соответствует моему описанию выше по своим эффектам. , Jeff Zeitlin 6 лет назад 0

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