「タブレット PC」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
(Pkg/AUR テンプレートの更新)
138行目: 138行目:
 
=== systemd を使う ===
 
=== systemd を使う ===
   
[https://github.com/hadess/iio-sensor-proxy iio-sensor-proxy] を見てください。AUR の {{AUR|iio-sensor-proxy}} (または {{AUR|iio-sensor-proxy-git}}) パッケージでインストールできます。
+
[https://github.com/hadess/iio-sensor-proxy iio-sensor-proxy] を見てください。AUR の {{Pkg|iio-sensor-proxy}} (または {{AUR|iio-sensor-proxy-git}}) パッケージでインストールできます。
   
 
GNOME によって画面の明るさが自動的に調整されてしまう場合、以下のコマンドで無効化することができます (電源管理の GUI からも設定できます):
 
GNOME によって画面の明るさが自動的に調整されてしまう場合、以下のコマンドで無効化することができます (電源管理の GUI からも設定できます):

2018年12月19日 (水) 23:48時点における版

このページではタブレット PC で Arch Linux を使用するヒントを集めています。タブレット PC でスタイラスペンを使用する方法や画面を回転する方法などを載せています。

機種

Arch Linux が動作することが確認されている Intel (x86) の CPU が搭載されたタブレット:

スタイラスペン

まずは xf86-input-wacomインストールしてください。

それから Xorg の設定ファイル /etc/X11/xorg.confServerLayout セクションに以下を追加してください:

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 ConfigurationLiniux 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 を見てください。

GitHub には他にも Surface Pro 3 の回転スクリプトが存在します:

systemd を使う

iio-sensor-proxy を見てください。AUR の iio-sensor-proxy (または iio-sensor-proxy-gitAUR) パッケージでインストールできます。

GNOME によって画面の明るさが自動的に調整されてしまう場合、以下のコマンドで無効化することができます (電源管理の GUI からも設定できます):

$ dbus-launch gsettings set org.gnome.settings-daemon.plugins.power ambient-enabled false

GDM については以下のコマンドで設定します (GUI で変更はできません):

$ sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power ambient-enabled false

KDE モジュールを使う

ノート: kded_rotation は開発途上であり洗練されていません。注意して使ってください。

iio-sensor-proxy-gitAURkded-rotation-gitAUR をインストールして KDE セッションを再起動してください。画面が回転するようになるはずです。

タッチスクリーンを自動で回転するには /usr/bin/orientation-helper スクリプトを編集して、ハードコードされている入力デバイスの名前を変えてください (デバイス名は xinput list で確認できます)。

Screen Rotator を使う

ノート: ScreenRotator はまだ開発途上です。

iio-sensor-proxy-gitAURscreenrotator-gitAUR をインストールしてください。セッションの開始時に自動的に起動します。また、アプリケーションメニュー (システムセクション) から起動することもできます。

Screen Rotator には設定が存在せず、自動的に方向の変化を認識してディスプレイとタッチスクリーンの向きを回転します。

タブレットモード

タブレットに加速度計がふたつ搭載されている場合、linux_detect_tablet_mode を使うことでノートパソコンモードとタブレットモードを設定できます (キーボード・タッチパッド・トラックポイントの有効化・無効化やオンスクリーンキーボードの起動・終了など)。

ヒントとテクニック

CellWriter

CellWriter はグリッド線の入った手書き入力パネルです。升目に文字を書くことで、すぐに書いた文字が認識されます。cellwriter パッケージでインストールできます。

Easystroke

Easystroke はジェスチャー認識アプリケーションです。スタイラスペンやマウス、タッチパッドなどの様々な入力デバイスによるジェスチャーを認識できます。ジェスチャーを使うことでプログラムを起動したり、テキストを入力したり、ボタンやキーをエミュレートしたりスクロールすることができます。Easystroke は easystrokeeasystroke-gitAUR パッケージでインストールできます。

Xournal

Xournal はスタイラスペンを使ってメモを取ったりスケッチを描くためのアプリケーションです。Xournal は高品質なグラフィックと豊富な機能を提供することを目指しています。xournal パッケージでインストールできます。

パッチを当てることで Xournal の機能を拡張することもできます。ドキュメントの自動保存や画像の挿入などが可能になります。利用可能なパッチについては SourceForge を参照してください。パッチを適用するには、ABS から Xournal の PKGBUILD をダウンロードして ABS でパッチを適用を読んでください。

gksu の grab モードを無効化

警告: 以下の設定を行うと他の X アプリケーションもキーボードの入力イベントを取得できるようになり、キーロガーなどの悪質なアプリケーションから防護されなくなります。

gksu/gksudo を使っている場合、grab モードを無効化することでスタイラスペンでパスワードを入力して認証できます。ターミナルで以下のコマンドを実行してください:

$ gksu-properties

Grab Modedisable に変更してください。

Gnome-screensaver

Cellwriter でパスワードを入力して gnome-screensaver のロックを解除するには、まず Gconf-editor を起動:

$ gconf-editor

/apps/gnome-screensaverembedded_keyboard_commandcellwriter --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 が使用できるのは Plain スタイルの GDM だけです。

ユーザーセッションで完全な CellWriter インスタンスを起動したい場合、GDM で起動したインスタンスは終了したほうが良いでしょう。/etc/gdm/PostLogin/Default などのファイルを新しく作成して killall cellwriter と記述してください。

ノート: 上記の設定はシングルユーザー環境でのみ動作します。

LightDM

Onboard を使うように LightDM を設定することで画面上のキーボードでログインすることができるようになります (デフォルトの GTK greeter を使用する場合)。

onboardlightdm-gtk-greeter-settings をインストールしてから lightdm-gtk-greeter-settings を起動して Onboard を実行するように設定してください。

onboard -t Droid -l Phone と指定することで Droid テーマと Phone レイアウトが使われます。

Touchegg

Touchegg はマルチタッチのジェスチャーを認識します。最大5本指のジェスチャー (タップ・ドラッグ・ピンチ・回転) を認識します。

トラブルシューティング

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
ノート: fglrx ドライバーは回転をサポートしていません。