Fusumaのインストールと設定
Linux上でタッチパッド上のジェスチャーをカスタマイズ出来るFusumaというライブラリをRubyGems公開している。 日本語の記事もあまりないので、使い方やカスタマイズの記事を書いてみることにした。
RubyGemsにライブラリを公開した時の記事⇓
Fusumaのインストール
Debian系を利用しているOS(パッケージ管理にaptを利用している)なら下記のapt install
等のコマンドはそのまま利用できるはず。
自分はUbuntu16.04ベースのelementary OS lokiをインストールしたDell XPS 13(9360)で利用している。
Archの人はArchWikiに色々書いてもらっているようなのでそちらを参照。
https://wiki.archlinux.org/index.php/Libinput#fusuma
Ubuntu 15.04以降ではFusumaに依存するlibinputを使用することができるが、Ubuntu 14以下の古いバージョンではsynapticsドライバを使用するxswipexSwipeを試してみて欲しい。
インストールされているRubyのバージョンを確認
まず最初にRubyをインストールしてあるか確認。
システムにインストールされているRubyでも問題ない。
(もちろんrbenvやrvm使ってても問題ない)
$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
# ↑Rubyの2.4がインストールされていることを確認
依存パッケージのインストール
タッチパッドの入力を読ませる必要があるためlibinput-tools
をインストールする。
(Fusuma内部でlibinput debug-events
によるデバッグログの出力を利用している)
$ sudo apt install libinput-tools
また、Alt+Left
, Alt+Right
などショートカットを発行できるようにするためxdotool
をインストールする。
$ sudo apt install xdotool
FusumaをRubyGemsからインストール
$ sudo gem i fusuma
i
はinstall
の省略。システムのRubyでインストールする場合はsudo
が必要。
(rbenvやrvmでインストールしているRubyを使う場合、$ gem i fusuma
でインストール出来る)
Fusumaの設定ファイルを作成する
~/.config/fusuma/config.yml
に設定ファイルを作成する。
$ mkdir -p ~/.config/fusuma
$ touch ~/.config/fusuma/config.yml
エディタで~/.config/fusuma/config.yml
を開き、以下の内容を貼り付ける
swipe:
3:
left:
command: 'xdotool key alt+Right'
right:
command: 'xdotool key alt+Left'
up:
command: 'xdotool key ctrl+t'
down:
command: 'xdotool key ctrl+w'
↑ 3本指スワイプでブラウザの(戻る/進む/タブを作成/タブを閉じる)ショートカットを登録する例。
inputグループにユーザーを追加
Fusumaの実行にはタッチパッドの入力を読み取り出来る権限をユーザーに与える必要がある。
$ sudo gpasswd -a $USER input
gpasswd
というコマンドを使ってinput
グループにユーザーを追加している。(ここの$USER
は実行時のユーザー名が自動的に指定される)
ここで必ずXからログアウト・ログイン(もしくは再起動)を行うこと。
inputグループ追加の反映に必要で、これをやっておかないとfusumaがタッチパッドを認識出来ない。
Fusumaの起動
ターミナルを開き、fusumaと入力してエンター。
$ fusuma
ブラウザ上での3本指スワイプで戻る
/進む
/タブの作成
/タブを閉じる
ができていればOK。
ターミナルを閉じてもバックグラウンドで実行し続けるようにする
$ fusuma -d
この-d
オプションでdemonize(デーモン化) し、ターミナルプロセスから切り離される。そのためターミナルを閉じてもfusuma
が有効な状態となる
ジェスチャに割り当てるコマンドを設定する
認識させるジェスチャと割り当てるコマンドを~/.config/fusuma/config.yml
に追加する。
ターミナル上で実行するコマンドを確認する
ワークスペースを切り替えるにはxdotool key ctrl+alt+Up
やxdotool key ctrl+alt+Down
などが正しく動作するかターミナル上で試してみることをおすすめする。
正しく実行出来たコマンドを~/.config/fusuma/config.yml
に登録する。
この例のワークスペースのショートカットはWindowManagerに依存する。(Gnome 3はワークスペース切替はxdotool key ctrl+alt+Up
やxdotool key ctrl+alt+Down
で上下移動する)
4本指スワイプでワークスペースを切り替える
swipe
セクションの最下部に以下を貼り付ける
4:
up:
command: 'xdotool key ctrl+alt+Down'
down:
command: 'xdotool key ctrl+alt+Up'
設定ファイルを書き換えた場合はfusuma
をCtrl-c
やkill
コマンドなどで停止させfusuma
コマンドで再実行させる。
カスタマイズした4本指スワイプが反映されていればOK。
Fusumaの自動起動設定
再起動の度にターミナルを開いてFusumaコマンドを実行するのは面倒なので自動起動するように設定する。
- ターミナルで
which fusuma
を入力し、Fusumaの起動パスをメモする gnome-session-properties
を起動し、メモしたパスを入力し末尾に-d
オプション(デーモン化)を足しておく
Fusumaのアップデート
$ sudo gem update fusuma
(rbenv
, rvm
のRubyを利用してインストールした場合はgem update fusuma
でOK)
その他のカスタマイズなど
~/.config/fusuma/config.yml
上でピンチズーム(pinch in
/pinch out
)や各ジェスチャに対してのthreshold
(しきい値)を設定できる。
連続してピンチインするようなジェスチャの設定も可能。
詳細はFusumaのリポジトリのREADMEを参照。
バグを見つけたら
バグを見つけた場合Github Issueへの登録をお願いしますm(_ _)m
Patreon
あと、寄付プラットフォームのPatreonはじめた。
Fusumaのアップデート内容はPatreonに投稿していく。 直近だと、FluentdのようにRubyGemsを利用したプラグインによる機能追加をサポートする予定で、その内容を紹介していきたい。