Android端末をLinuxのタッチパッド替わりにしたい(Bluetooth利用のBlink)

最近またポインティングデバイスにApple Wireless Trackpadを利用するようになりましたが持ち運びには少し嵩張ります．マウスを持ち運ぶのもかさばります．
Ubuntu TouchでHDMI接続時にタッチデバイスになるというのを見てAndroid端末をタッチデバイスにすることが出来るのでは?それなら荷物増え無いしいいかもと思って少し調べてみました．

Bluetooth利用のBlink

Blink Linux Remote Control – Google Play の Android アプリ

drpain/blink-server: This is the server you would need to be able to run the Blink Android Application.

BlinkはBluetooth接続かつPC側でデーモンを動かす必要があります．
先ずBluetoothペアリングをしておき，PC側でデーモンを導入します．

必要パッケージの導入

$ sudo apt install bluez python-bluez xdotoolsudo apt-get install bluez python-bluez xdotool

デーモンの導入

$ git clone https://github.com/drpain/blink-server.git ~/.blink

以下のようにしてデーモンを起動するのですが，この記事を書いている時点でのDebian stretch testing amd64では以下のようなエラーとなります．

$ sudo ~/.blink/bluetooth_server.py
Traceback (most recent call last):
File "/home/mk/.blink/bluetooth_server.py", line 25, in <module>
profiles = [ SERIAL_PORT_PROFILE ]
File "/usr/lib/python2.7/dist-packages/bluetooth/bluez.py", line 176, in advertise_service
raise BluetoothError (str (e))
bluetooth.btcommon.BluetoothError: (2, 'No such file or directory')

GuihubのHELPを参考に*/etc/bluetooth/main.conf*を以下のように修正します．

diff --git a/bluetooth/main.conf b/bluetooth/main.conf
index 372fd8c..2f7cc4a 100644
--- a/bluetooth/main.conf
+++ b/bluetooth/main.conf
@@ -64,6 +64,9 @@
# 'false'.
#FastConnectable = false

+# "drpain/blink-server: This is the server you would need to be able to run the Blink Android Application." https://github.com/drpain/blink-server
+DisablePlugins = pnat
+
#[Policy]
#
# The ReconnectUUIDs defines the set of remote services that should try

設定を反映するためにbluetoothdを再起動してサーバを再起動します．

$ sudo service bluetooth restart

サーバは要rootのようです．
この状態でAndroid側からクライアントPCを選択して接続すればok．

$ sudo ~/.blink/bluetooth_server.py
READY FOR CONNECTIONS, RFCOMM channel 1
('INBOUND CONNECTION ', ('68:76:4F:3B:D1:E0', 1))
COMMAND RECEIVED [{"action":"mouse-move","x":null,"y":null}]
['xdotool', 'mousemove_relative', '--', 'None', 'None']
COMMAND RECEIVED [{"action":"mouse-move","x":-1,"y":0}]
['xdotool', 'mousemove_relative', '--', '-1', '0']
COMMAND RECEIVED [{"action":"mouse-move","x":0,"y":0}]
['xdotool', 'mousemove_relative', '0', '0']
COMMAND RECEIVED [{"action":"mouse-move","x":-1,"y":0}]
['xdotool', 'mousemove_relative', '--', '-1', '0']

上の方のモード切替スイッチをタップして規定の「Swipe Area」から「Mouse」にします．「Mouse Area」で操作するとxdotoolのログが大量に出つつ操作できます．

操作は少し解りづらくてこんな感じです．

タップ→左クリック

タップ, ホールド, リリース → 右クリック

中クリックやドラッグは多分未実装で使えません．
カーソル移動はちらつきますがとりあえず使える感じです．

でも導入に要設定変更&要rootなのが面倒ですね．