我正在使用美国(非国际)布局。输入 üäöß 的一种方法是通过以下方式设置撰写键:
setxkbmap -layout us -option compose:ralt
不幸的是,这会删除右侧 alt 中的正常“alt”功能。
1-我认为insert
key 在现代编辑器中毫无用处。如何将撰写键映射到它?可用选项列表仅包含几个键:
grep "compose:" /usr/share/X11/xkb/rules/base.lst
compose:lwin Left Win
compose:lwin-altgr 3rd level of Left Win
compose:rwin Right Win
compose:rwin-altgr 3rd level of Right Win
compose:menu Menu
compose:menu-altgr 3rd level of Menu
compose:lctrl Left Ctrl
compose:lctrl-altgr 3rd level of Left Ctrl
compose:rctrl Right Ctrl
compose:rctrl-altgr 3rd level of Right Ctrl
compose:caps Caps Lock
compose:caps-altgr 3rd level of Caps Lock
compose:102 <Less/Greater>
compose:102-altgr 3rd level of <Less/Greater>
compose:paus Pause
compose:prsc PrtSc
compose:sclk Scroll Lock
2-有没有办法在映射到撰写时保留“alt”功能?
3-有没有办法使 right_alt, 作为 AltGr 而不将键盘布局更改为国际?
答案1
使用xmodmap
(答案1
和3
)
这setxkbmap us -option
是针对具有非常具体行为的预定义选项。我不认为你能在这里找到你想要的东西,除非你想做一些与很多人类似的事情。
你可以做什么来代替使用xmodmap
:
setxkbmap us
xmodmap -e "keycode 118 = Multi_key"
xmodmap -e "keycode 133 = ISO_Level3_Shift"
第二行是Compose
(也称为Multi_key
)Insert
键(答案1
),
第三行是AltGr
(也称为ISO_Level3_Shift
……请注意,也有一个ISO_Level5_Shift
但很少有人使用它),在右边的Alt
键(答案3
)上。
如果您只想3
,那么,尝试使用setxkbmap us -option lv3:ralt_switch
.
alt
重新映射时保留(答案2
)
您的grep
命令给了您一些选项,但不是全部。
您可以改为搜索man 7 xkeyboard-config
,
您会看到至少还有一个功能主要但不完全是您想要的:
lv3:ralt_switch_multikey Right Alt; Shift+Right Alt as Compose
实际上,我不确定我是否完全理解你的问题,我认为它是这样的:
press Compose, press Foo, release Foo, release Compose
应该做Alt-Foo
,
而press Compose, release Compose
应该做Multi_key
(撰写),
但是如果你这样做,你希望它做什么,让我们说
press Compose, press Foo, release Compose, release Foo
?
或者如果你按了3个或更多的键应该做什么?
如果你想要这样的东西……这是一个更高级的功能。
使用一些机械键盘可以真正做到这一点,例如麦尔多克斯,或其他支持者QMK(看Dual-function key
),但不确定是否有办法使用setxkbmap
.