SlimBlade Trackball 72327JP
も使っているのですが今回、内部のマイクロスイッチが壊れて動作が不良になってしまいました。
現在の設定を確認する。
$ cat /proc/bus/input/devices
I: Bus=0003 Vendor=047d Product=2041
Version=0110
N: Name="Kensington Kensington Slimblade
Trackball"
P: Phys=usb-0000:00:1a.0-1/input0
S:
Sysfs=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/0003:047D:2041.0003/input/input14
U: Uniq=
H: Handlers=mouse0 event12
B: PROP=0
B: EV=17
B: KEY=f0000 0 0 0 0
B: REL=103
B: MSC=10
次に現在のボタンの割り付けを確認
$ xev
ButtonPress event, serial 31, synthetic NO,
window 0x7c00001,
root 0x168, subw 0x0, time
905156773, (102,118), root:(109,180),
state 0x10,
button 1,
same_screen YES
登録するコマンドを設定します。今回、一番困っている事...長いコマンドをターミナ
ルで
打つのが大変でよく間違うので(笑)
マウスのボタンだけでCOPY & PASTE が出来るようにしました。
$ cd
$ vi .xbindkeysrc
###########################
# xbindkeys configuration #
###########################
"$HOME/scripts/auto/copy-paste.sh copy"
b:8
"$HOME/scripts/auto/copy-paste.sh paste"
b:2
##################################
# End of xbindkeys configuration #
##################################
$ mkdir $HOME/scripts/auto/
$ vi $HOME/scripts/auto/copy-paste.sh copy
#!/bin/bash
wid=$(xdotool getactivewindow)
wClass=$(xprop -id $wid WM_CLASS | cut -d\" -f2)
action=$1
if [ "$action" != "paste" ] && [
"$action" != "copy" ]
then
echo "Invalid command"
exit 1
fi
if [ "$wClass" == "mate-terminal" ] #端末の場合
then
if [ "$action" == "copy" ]
then
/usr/bin/xdotool key
ctrl+shift+c
else
/usr/bin/xdotool key
ctrl+shift+v
fi
else
if [ "$action" == "copy" ] #ブラウザ等の場合
then
/usr/bin/xdotool key ctrl+c
else
/usr/bin/xdotool key ctrl+v
fi
fi
# chmod +x $HOME/scripts/auto/copy-paste.sh
以下のコマンドで設定を有効にします。
$ killall -HUP xbindkeys