Nokia N900 >> Maemo

自訂Xbindkeys


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鍵。

首先,進入Easy Debian系統,接著安裝xbindkeys和xdotool套件

$ 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

結束

$ sudo killall xbindkeys
組合鍵 指令 說明
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(加上--是為了fix xdotool的判斷bug)
Control + Up xdotool mousemove_relative 0 -30 按下Ctrl + Up時,滑鼠相對上移30
Control + Down xdotool mousemove_relative 0 30 按下Ctrl + Down時,滑鼠相對下移30


返回上一頁