
是否可以在 Unix 終端機中更改某些鍵盤按鍵?
例如:當我按下 ,
然後_
列印?
如果這確實可能,我該怎麼做呢?
我在Ubuntu上。
答案1
引用自這裡:
訂製桌子
您可以建立自己的地圖並將其儲存在您的主目錄中(即~/.Xmodmap)。將目前的鍵盤映射表列印到設定檔中:
xmodmap -pke > ~/.Xmodmap
對 ~/.Xmodmap 進行所需的更改,然後使用以下命令測試新配置:
xmodmap ~/.Xmodmap
若要在啟動 Xorg 時啟動自訂表,請新增以下內容:
~/.xinitrc if [ -f $HOME/.Xmodmap ]; then /usr/bin/xmodmap $HOME/.Xmodmap fi
或者,編輯全域啟動腳本
/etc/X11/xinit/xinitrc
。測試變更
您也可以對目前會話進行暫時變更。例如:
xmodmap -e "keycode 46 = l L l L lstroke Lstroke lstroke" xmodmap -e "keysym a = e E"
也:
請參閱man xmodmap
了解更多詳情。
編輯:
澄清一下:xmodmap ~/.Xmodmap
可以在很多地方使用,而不僅僅是在啟動 Xorg 時。例如,我的 ~/.bashrc 中有這兩個函數:
# map caps to esc
mapcaps(){
xmodmap -e "clear lock"
xmodmap -e "keycode 0x42 = Escape"
echo mapcaps: caps-lock set to Escape via xmodmap
}
unmapcaps(){
xmodmap -e "keycode 0x42 = Caps_Lock"
xmodmap -e "add lock = Caps_Lock"
echo unmapcaps: caps-lock set to caps-lock via xmodmap
}
這樣我就可以動態地將 Caps 對應到 Esc。
確實沒有限制。請隨意從 ~/.xinitrc、~/.bash_profile、自訂腳本等呼叫 xmodmap。
答案2
說實話,我從來沒有嘗試過做你正在嘗試的事情。不過,我之前已經為終端(非 X)添加了備用鍵綁定(鍵組合)。
您可以使用以下命令查看您的按鍵綁定:showkey
或showkey -s
您將使用相關程序進行額外的研究和修改。
loadkeys
dumpkeys
keymaps
setkeycodes
對我來說,在 Slackware 中進行更改非常容易,我花了一些時間在 Ubuntu 中查找,但沒有找到相同的檔案/usr/share/kbd/keymaps/i386/qwerty/*map.gz
。儘管我只能存取即時啟動的 Ubuntu 系統。你可能會過得更好。
答案3
如果您想在 X 視窗系統中執行此操作,可以使用 Xmodmap。我從來沒有掌握過文法,所以找一個工作範例,然後從那裡開始。