Xbindkeys是一套相當好用的鍵盤事件處理軟體,該工具可以設定要觸發的組合鍵,然後搭配其它工具軟體處理觸發的事件,如下範例:
"wmctrl -r :ACTIVE: -b toggle,fullscreen"
Control + Up
上面的範例代表,當使用者按下Control + Up時,執行wmctrl -r :ACTIVE: -b toggle,fullscreen命令,wmctrl是處理視窗的工具軟體,而該範例代表全螢幕顯示,所以如果使用者按下N900的Ctrl + Up按鍵時,當下主視窗會放大成全螢幕,不過司徒覺得xbindkeys最好用的地方是設定Easy Debian的滑鼠按鍵(需搭配xdotool),因為司徒時常使用Easy Debian執行KiCAD軟體,可是KiCAD如果沒有搭配滑鼠使用,操作會變得相當麻煩,目前Linux系統上,比較好用的滑鼠、鍵盤發送軟體是xdotool,比較值得注意的地方是Return和KP_Enter是不一樣的功能,如果要在xdotool發送Enter鍵,必需設定成KP_Enter,而非Enter鍵
安裝方式:
$ sudo apt-get install xbindkeys xdotool xvkbd
設定組合鍵
$ vim ~/.xbindkeysrc
# for Maemo
#"wmctrl -r :ACTIVE: -b toggle,fullscreen"
# F7
#"xdotool key KP_Enter"
# F8
# for Easy Debian
# mouse button
"xdotool click 3"
Shift + Right
"xdotool click 1"
Shift + Left
# For Easy Debian
# mouse move
"xdotool mousemove_relative 30 0"
Control + Right
"xdotool mousemove_relative -- -30 0"
Control + Left
"xdotool mousemove_relative 0 -30"
Control + Up
"xdotool mousemove_relative 0 30"
Control + Down
# For Easy Debian
"xvkbd -xsendevent -text "\[F1]""
m:0x81 + c:24
"xvkbd -xsendevent -text "\[F2]""
m:0x81 + c:25
"xvkbd -xsendevent -text "\[F3]""
m:0x81 + c:26
"xvkbd -xsendevent -text "\[F4]""
m:0x81 + c:27
"xvkbd -xsendevent -text "\[F5]""
m:0x81 + c:28
"xvkbd -xsendevent -text "\[F6]""
m:0x81 + c:29
"xvkbd -xsendevent -text "\[F7]""
m:0x81 + c:30
"xvkbd -xsendevent -text "\[F8]""
m:0x81 + c:31
"xvkbd -xsendevent -text "\[F9]""
m:0x81 + c:32
"xvkbd -xsendevent -text "\[F10]""
m:0x81 + c:33
"xvkbd -xsendevent -text "\[F11]""
m:0x81 + c:59
"xvkbd -xsendevent -text "\[F12]""
m:0x81 + c:22
如果想知道按鍵對應的數值,可以使用如下方式取得:
$ xbindkeys --key
| 組合鍵 | 指令 | 說明 |
|---|---|---|
| F7 | wmctrl -r :ACTIVE: -b toggle,fullscreen | 按下F7時,切換當前主視窗成全螢幕 |
| F8 | xdotool KP_Enter | 按下F8時,發送Enter鍵 |
| Shift + Right | xdotool click 3 | 按下Shift + Right時,發送滑鼠右鍵 |
| Shift + Left | xdotool click 1 | 按下Shift + Left時,發送滑鼠左鍵 |
| Control + Right | xdotool mousemove_relative 30 0 | 按下Ctrl + Right時,滑鼠相對右移30 |
| Control + Left | xdotool mousemove_relative -- -30 0 | 按下Ctrl + Left時,滑鼠相對左移30 (加上--是為了修復xdotool的bug) |
| Control + Up | xdotool mousemove_relative 0 -30 | 按下Ctrl + Up時,滑鼠相對上移30 |
| Control + Down | xdotool mousemove_relative 0 30 | 按下Ctrl + Down時,滑鼠相對下移30 |