如何使用 xkb 獲得多個“3 級”修飾符

如何使用 xkb 獲得多個“3 級”修飾符

我正在嘗試xkb使用預設的 4 個級別(或者我應該說 2 個級別?我真的不知道這些術語)來改進我的鍵盤佈局。

當我打開括號時,我發現 xkb 的記錄非常少(或者我不知道如何搜索)..有些人談到級別,有些組,有些將級別定義為shift是第一個,AltGr是第二個其他人則認為基本字元是第一個,然後遞增每個組合。我的意思是有很多不一致的地方..)

M無論如何,這是某些鍵盤中預設的 4 個按鍵「組合」 :

// Pressing   <M> <Shift+M> <AltGr+M> <Shift+AltGr+M>
key <AB07> { [ m ,    M    ,    mu   ,      mu       ] }; // m M µ µ

是否可以新增其他修飾符?

例如,使用一個額外的修飾符,例如R CtrlI 可以有 6 種組合:

// Pressing   <M> <Shift+M> <AltGr+M> <AltGr+Shift+M> <RCtrl+M> <RCtrl+Shift+M>
key <AB07> { [ m ,    M    ,    mu   ,    mu         , comma  , semicolon] };// m M µ µ , ;

或甚至 8 種組合與所有三個修飾符..
事實上,某些文件中似乎已經存在symbol關鍵字的8 級映射EIGHT_LEVEL

不過我不希望一把鑰匙有 42 個組合。

相反,我只是想避免手指的尷尬組合,為此我更喜歡僅與“直接訪問”進行有限的組合,如下所示:

// Pressing   <M> <Shift+M> <AltGr+M>  <RCtrl+M>  <RWin>+M
key <AB07> { [ m ,    M    ,  comma  , semicolon ,    µ   ] }; // m M , ; µ

我還想映射其他角色甚至動作(箭頭、起始/結束、向上/向下翻頁)與其他未使用的修飾符(大寫鎖定、數位鎖定)

我怎樣才能做到這一點 ?

非常感謝。

答案1

您可以使用它group來實現“兩次擊鍵”的目標:

key <AB07> { 
type[group1]= "FOUR_LEVEL",
type[group2]= "TWO_LEVEL_BIS",
symbols[group1]= [ m ,    M    ,  comma  , NoSymbol],
symbols[group2]= [ semicolon ,    µ ] 
};

現在您必須type TWO_LEVEL_BIS使用所需的修飾符定義 for 。

值得了解的Mode_switch是增加實際組的鍵,因此請查看它的定義。

相關內容