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 |