如何映射組合鍵以通過 setxkbmap 插入?
我正在使用美國(非國際)佈局。鍵入 üäöß 的一種方法是通過以下方式設置組合鍵:
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?
使用
xmodmap
(答案1
和3
)
setxkbmap us -option
用於具有非常特定行為的預定義選項。我不認為你可以在這裡找到你想要的東西,直到你想做一些和很多人相似的事情。你可以做什麼,而不是使用
xmodmap
:setxkbmap us xmodmap -e "keycode 118 = Multi_key" xmodmap -e "keycode 133 = ISO_Level3_Shift"
第 2 行是 for
Compose
(also namedMulti_key
) onInsert
key (answer1
),第 3 行是 for
AltGr
(also namedISO_Level3_Shift
… 請注意,也有一個ISO_Level5_Shift
但很少有人使用它),在正確的Alt
鍵 (answer3
) 上。如果您只想要
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個或更多鍵應該怎麼辦?
如果你想要這樣的東西……這是一個更高級的功能。使用Ergodox 之類的機械鍵盤或其他支持QMK(查看)
的機械鍵盤可以真正做到這一點,但不確定是否有.
Dual-function key``setxkbmap