keyboard mapping在定義上分成三個層次

1. physycal: 指的是鍵盤本身的定義,會帶一組keycode,如a是38,b是56 (可用xev查詢)。

keycode-a

2. os level: 指的是在os層的對應碼,如a是0x0061, b是0x0062 (可用xmodmap查詢)

xmodmap-pk

3. 控制鍵功能: 調整modifier的key

xmodmap

 

調整方法如下:

1. 改變第一、二層的對應:把a變成p

changeatop

2. 改變二、三層的對應,以右邊Alt為例,把右Alt變成control鍵

function

以上mapping可分別改變,但只適用於本機。如果是remote login或是virtual machine的情況,就需要從第一層到第三層都一致。以上述改變二三層對應為例,雖然把Alt_R變成control,但physical層Alt_R的keycode 108仍Alt_R:

keycode108

這種情況下,在本機的Alt_R已經變成control鍵,但在virtual machine下仍為Alt_R的功能。因此需要以下步驟:

keycode-108-ctrl

這樣不管是remote login或是virtual machine就會完整的把Alt_R取代為Control_L。

所以下次你發現鍵盤mapping不對,查一下keycode,看看是不是被表了~

Mouse

mouse就是pointer,可用xmodmap -pp看目前的配置。使用方式以對換左右鍵為例:

mouse

目前有支援到13個buttons。

 

Reference

xmodmap修改键映射

kezeodsnx 發表在 痞客邦 PIXNET 留言(0) 人氣()