5

Я хотел бы настроить ключ создания, но единственные параметры, доступные в системных настройках KDE (и через /usr /share /X11 /xkb /rules):

compose:ralt         Right Alt
compose:lwin         Left Win
compose:rwin         Right Win
compose:menu         Menu
compose:lctrl        Left Ctrl
compose:rctrl        Right Ctrl
compose:caps         Caps Lock
compose:102          Less-than/Greater-than

Никто из них не радует меня; "compose:caps" может быть в порядке, но он уже сопоставлен ctrl.

Есть ли такая опция, чтобы настроить какую-либо клавишу (например, некоторые из этих дополнительных функциональных клавиш) или получить сам ключ? (например, с ralt все будет в порядке, если я легко получу исходное поведение ключа (AltGr))

Я хотел бы иметь что-то вроде Shift-AltGr для запуска режима Compose.

Я думаю, что я мог бы добавить дополнительное правило, как это сделано для / с compose:102 .. на что ссылается 102? (это не что-то сбрасывается через xev).

Существует также опция lv3:ralt_switch_multikey (правая клавиша Alt, Shift+ правая клавиша Alt - Multi_Key), но это не сработало, как ожидалось (см. Http://bugs.kde.org/246472).

2 ответа2

2

lv3:ralt_switch_multikey - это то, что я искал:

# But here it is: /usr/share/X11/xkb/rules/xorg.lst
# Anyway... what this is doing:
# lvl3:ralt_switch_multikey
#   right alt = AltGr = choose third shift level
#   shift + right alt = compose key aka Multi_Key

(через http://ndim.fedorapeople.org/stuff/radeonhd/xorg.conf)

У меня есть этот набор через системные настройки KDE (Keyboard => Advanced), так что в моем ~/.kde/share/config/kxkbrc:

Options=ctrl:nocaps,lv3:ralt_switch_multikey
1

Другой подход заключается в использовании xmodmap . Добавьте следующее к вашему ~/.Xmodmap:

keycode 134 = ISO_Level3_Shift Multi_key

Это с учетом регистра. Правая клавиша Alt ( AltGr ) на моей клавиатуре имеет код 134. Если это не работает, вероятное объяснение состоит в том, что ваша клавиатура использует другой номер для этой клавиши. Чтобы выяснить это, запустите xev , нажмите любую клавишу, которую хотите использовать, и найдите часть с надписью "keycode XXX".

Конечно, вы можете использовать любой ключ для этой цели; например,

keycode 38 = a Multi_key

сделал бы ключ служить в качестве ключа (только создания письма) при сдвиге. Невозможность набрать заглавную букву А будет явным ущербом, поэтому, возможно, вы захотите заняться чем-то другим ☺

Я использую Shift+Shift с трюком:

keysym Shift_L = Shift_L Multi_key
keysym Shift_R = Shift_R Multi_key

Это заставляет левую клавишу Shift действовать как левую клавишу Shift, а правую клавишу Shift - как правую клавишу Shift, за исключением того, что если вы удерживаете клавишу Shift, каждая клавиша Shift действует как Compose. Несколько сценариев для иллюстрации:

Если вы нажмете левую клавишу «Shift», нажмете клавишу «Shift» вправо, отпустите клавишу «Shift» вправо и отпустите клавишу «Shift» - тогда вы получите тот же эффект, как если бы вы нажимали физическую клавишу Compose (на старых клавиатурах Sun такие были, IIRC). Так в частности:

  • Shift Shift + : + ) производит смайлик, ☺ (по крайней мере, с моим ~/.XCompose)
  • Shift Shift + a + a производит & aring; персонаж "å".

Если нажать левую клавишу «Shift», нажать клавишу «Shift» вправо, а затем отпустить две клавиши Shift в обратном порядке, вы получите тот же эффект, что и выше.

Если вы нажмете левое смещение и отпустите его снова (без промежуточного правого смещения), вы получите два события клавиатуры:

  • событие KeyPress для Shift_L
  • событие KeyRelease для Multi_key

Это потому, что когда вы отпускаете левую клавишу Shift, клавиша Shift удерживается (левая клавиша -_-), поэтому клавиша обрабатывается так, как будто Multi_key - это все, что она когда-либо делала. Это не вызвало у меня каких-либо заметных проблем, но, возможно, какое-то старое и ошибочное приложение могло подавиться несовпадением KeyPress и KeyRelease .

Также обратите внимание, что взаимодействие между клавишами одноразового использования, клавишами-модификаторами и клавишами переключения состояний (например, a, Shift и Caps Lock) взаимодействует забавно. Если вы хотите использовать одну и ту же клавишу в качестве клавиши Caps Lock и (когда удерживается Shift) клавишу Comose, вы можете получить эффектные эффекты. Кажется, я помню, что вы получаете все применимые эффекты, что, вероятно, не то, что вы хотите, но не стесняйтесь попробовать.

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