タブレット PC
このページではタブレット PC で Arch Linux を使用するヒントを集めています。タブレット PC でスタイラスペンを使用する方法や画面を回転する方法などを載せています。
目次
機種
Arch Linux が動作することが確認されている Intel (x86) の CPU が搭載されたタブレット:
- Samsung Series 7 Slate XE700T1A
- Microsoft Surface Pro 3
- Asus T300 Chi
スタイラスペン
まずは xf86-input-wacom をインストールしてください。
それから Xorg の設定ファイル /etc/X11/xorg.conf
の ServerLayout
セクションに以下を追加してください:
InputDevice "stylus" "SendCoreEvents" InputDevice "eraser" "SendCoreEvents" InputDevice "cursor" "SendCoreEvents"
さらに以下のセクションも追加してください:
Section "InputDevice" Identifier "stylus" Driver "wacom" Option "Device" "/dev/ttyS0" Option "Type" "stylus" Option "ForceDevice" "ISDV4" Option "Button2" "3" EndSection Section "InputDevice" Identifier "eraser" Driver "wacom" Option "Device" "/dev/ttyS0" Option "Type" "eraser" Option "ForceDevice" "ISDV4" Option "Button2" "3" EndSection Section "InputDevice" Identifier "cursor" Driver "wacom" Option "Device" "/dev/ttyS0" Option "Type" "cursor" Option "ForceDevice" "ISDV4" EndSection
詳しくは Linux Wacom Tablet PC Configuration や Liniux Wacom Tablet Configuration を参照。
回転
古い X サーバーを使っていないかぎり、(xrandr に含まれている) 回転機能はデフォルトでオンになります。オンになっていない場合、以下のオプションを xorg.conf
ファイルの Screen
セクションに追加することで xrandr を有効にできます:
Option "RandRRotation" "on"
ファイルを保存して X サーバーを再起動することで変更が適用されます。
スタイラスペンと画面の回転
画面とスタイラスペンの入力を縦置きに設定するには:
$ xrandr -o 3 $ xsetwacom set stylus Rotate cw
横置きに戻すには:
$ xrandr -o 0 $ xsetwacom set stylus Rotate none
'stylus' デバイスが認識できない場合は、以下のコマンドを使ってデバイスのリストを取得してください:
$ xsetwacom list devices
例:
$ xsetwacom set "Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus" Rotate cw
ソース: http://xournal.sourceforge.net/manual.html
Xfce
以下のスクリプトは実行するたびにディスプレイを時計回りに90度回転します。wacom ポインタも回転します。
rotate.sh
#!/bin/bash case $(xfconf-query -c pointers -p /Wacom_ISDv4_90_Pen_stylus/Properties/Wacom_Rotation) in 2) # Currently top is rotated left, we should set it normal (0°) xrandr -o 0 xfconf-query -c pointers -p /Wacom_ISDv4_90_Pen_stylus/Properties/Wacom_Rotation -s 0 xfconf-query -c xsettings -p /Xft/RGBA -s rgb ;; 0) # Screen is not rotated, we should rotate it right (90°) xrandr -o 3 xfconf-query -c pointers -p /Wacom_ISDv4_90_Pen_stylus/Properties/Wacom_Rotation -s 1 xfconf-query -c xsettings -p /Xft/RGBA -s vbgr ;; 1) # Top of screen is rotated right, we should invert it (180°) xrandr -o 2 xfconf-query -c pointers -p /Wacom_ISDv4_90_Pen_stylus/Properties/Wacom_Rotation -s 3 xfconf-query -c xsettings -p /Xft/RGBA -s bgr ;; 3) # Screen is inverted, we should rotate it left (270°) xrandr -o 1 xfconf-query -c pointers -p /Wacom_ISDv4_90_Pen_stylus/Properties/Wacom_Rotation -s 2 xfconf-query -c xsettings -p /Xft/RGBA -s vrgb ;; *) echo "Unknown result from 'xfconf-query -c pointers -p /Wacom_ISDv4_90_Pen_stylus/Properties/Wacom_Rotation'" >&2 exit 1 ;; esac
ファイルを保存して実行可能属性を付与してください:
$ chmod +x rotate.sh
デスクトップやパネル上にリンクを作成したり、キーボードショートカットを設定して使ってください。
タッチスクリーンの回転
Grox はタッチスクリーンを回転するシンプルなスクリプトです。xrandr を使って現在の状態を確認します。
自動回転
スクリプトを使う
画面やタッチスクリーンを自動的に回転する Python スクリプトが開発されています。向きによってはタッチパッドを無効化し、加速度計やタッチスクリーン、タッチパッドデバイスを自動的に認識します。
Industrial I/O サブシステム /sys/bus/iio/devices/iio:deviceX
経由で通信できる加速度計が搭載されたデバイスで動作します (X はデバイスの数字です)。
rotate.py を見てください。Surface の場合は Surface Tools を見てください。
systemd を使う
iio-sensor-proxy を見てください。AUR の iio-sensor-proxyAUR (または iio-sensor-proxy-gitAUR) パッケージでインストールできます。
ヒントとテクニック
CellWriter
CellWriter はグリッド線の入った手書き入力パネルです。升目に文字を書くことで、すぐに書いた文字が認識されます。cellwriter パッケージでインストールできます。
Easystroke
Easystroke はジェスチャー認識アプリケーションです。スタイラスペンやマウス、タッチパッドなどの様々な入力デバイスによるジェスチャーを認識できます。ジェスチャーを使うことでプログラムを起動したり、テキストを入力したり、ボタンやキーをエミュレートしたりスクロールすることができます。Easystroke は easystroke や easystroke-gitAUR パッケージでインストールできます。
Xournal
Xournal はスタイラスペンを使ってメモを取ったりスケッチを描くためのアプリケーションです。Xournal は高品質なグラフィックと豊富な機能を提供することを目指しています。xournal パッケージでインストールできます。
パッチを当てることで Xournal の機能を拡張することもできます。ドキュメントの自動保存や画像の挿入などが可能になります。利用可能なパッチについては SourceForge を参照してください。パッチを適用するには、ABS から Xournal の PKGBUILD をダウンロードして ABS でパッチを適用を読んでください。
gksu の grab モードを無効化
gksu/gksudo を使っている場合、grab モードを無効化することでスタイラスペンでパスワードを入力して認証できます。ターミナルで以下のコマンドを実行してください:
$ gksu-properties
Grab Mode を disable に変更してください。
Gnome-screensaver
Cellwriter でパスワードを入力して gnome-screensaver のロックを解除するには、まず Gconf-editor を起動:
$ gconf-editor
/apps/gnome-screensaver
の embedded_keyboard_command を cellwriter --xid --keyboard-only
に設定して embedded_keyboard_enabled チェックボックスにチェックを入れてください。
グラフィカルなレジストリエディタを使用するかわりに、以下のコマンドを実行することでも設定できます:
$ gconftool-2 --set /apps/gnome-screensaver/embedded_keyboard_command "cellwriter --xid --keyboard-only" --type string $ gconftool-2 --set /apps/gnome-screensaver/embedded_keyboard_enabled true --type boolean
システム全体で設定したい場合、以下のコマンドを実行してください:
# gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set /apps/gnome-screensaver/embedded_keyboard_command "cellwriter --xid --keyboard-only" --type string # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set /apps/gnome-screensaver/embedded_keyboard_enabled true --type boolean
GDM
GDM で CellWriter を使うこともできます。root でテキストエディタを使って /etc/gdm/Init/Default
を開いてください。ファイルの末尾付近に、以下の太字の行を追加してください:
fi cellwriter --keyboard-only & exit 0
--window-x
や --window-y
を追加することで CellWriter の位置を調整できます。例:
cellwriter --keyboard-only --window-x=512 --window-y=768 &
ユーザーセッションで完全な CellWriter インスタンスを起動したい場合、GDM で起動したインスタンスは終了したほうが良いでしょう。/etc/gdm/PostLogin/Default
などのファイルを新しく作成して killall cellwriter
と記述してください。
LightDM
Onboard を使うように LightDM を設定することで画面上のキーボードでログインすることができるようになります (デフォルトの GTK greeter を使用する場合)。
onboard と lightdm-gtk-greeter-settings をインストールしてから lightdm-gtk-greeter-settings
を起動して Onboard を実行するように設定してください。
onboard -t Droid -l Phone
と指定することで Droid テーマと Phone レイアウトが使われます。
トラブルシューティング
Wacom ドライバー
トラブルシューティングの際には以下のコマンドが役に立ちます:
$ wacdump -f tpc /dev/ttyS0 $ xidump -l $ xidump -u stylus
xidump によって表示されたタブレットの最大解像度が画面の解像度と同じ場合、wacom ドライバーによって wacom の座標が X サーバーの解像度にあわせてスケールされています。以下のようにして linuxwacom ドライバーを再コンパイルすることで解決できます:
./configure --disable-quirk-tablet-rescale
画面の回転
一部のビデオドライバーは回転に対応していません。ドライバーが回転をサポートしているかどうか確認するには、xrandr
の出力をチェックしてください:
normal left inverted right