アクセシビリティ
身体的または視覚的なハンディキャップを持っているユーザーのためにアクセシビリティを提供する方法は様々なものがあります。しかしながら、デスクトップ環境を使わない場合、きちんと使えるようにするまで設定に多少の手直しが必要になります。
目次
デスクトップ環境
最近のデスクトップ環境は拡張機能のセットが付いており、その中にアクセシビリティのオプションを設定するツールも入っています。大抵は、'アクセシビリティ'とかそれぞれの入力デバイス (例: 'キーボード'や'マウス') の設定にオプションが存在します。
身体支援
音声認識については、音声認識を見て下さい。
キーボードの操作
点字については、TalkingArch を見て下さい。
コンソール
スティッキーキー
TTY でスティッキーキーを有効にするには、使用するキーのキーコードを知る必要があります。キーコードは xorg-xev や xkeycaps などのツールで確認することが可能です。または、(現在のキーマップが正しければ) dumpkeys の出力を調査することもできます。
例えば、Logitech Ultra-X における修飾キーのキーコードは以下の通りです:
LCtrl = 29 LShift = 42 LAlt = 56 RShift = 54 RCtrl = 97
次に、dumpkeys を使ってキーコードの範囲を確認します:
# dumpkeys | head -1 keymaps 0-63
適当な名前 (例: "stickyKeys") で新しいファイルを作成して、好きなエディタを使って先に確認した情報と必要なキーの機能を組み合わせます。
上に書かれたキーコードの場合、以下のようになります:
keymaps 0-63 keycode 29 = SCtrl keycode 42 = SShift keycode 56 = SAlt keycode 54 = SShift keycode 97 = SCtrl
ここで、修飾キーの前の "S" という文字はそのキーのスティッキーバージョンを使用することを示しています。
次のコマンドを実行して新しいマッピングをロード:
# loadkeys ./stickyKeys
結果に満足したら、適当なディレクトリにファイルを移動して、起動時にロードされるようにします。上記のコマンドを /etc/rc.local
に記述するか (古い方法)、または systemd のサービスを使います (推奨される方法)。
systemd の場合、サービスファイルは以下のようになります:
[Unit] Description="load custom keymap (sticky keys)" [Service] Type=oneshot ExecStart=/usr/bin/loadkeys /path/to/stickyKeys StandardInput=tty RemainAfterExit=yes [Install] WantedBy=multi-user.target emergency.target rescue.target
最後にファイル (例: loadkeys.service
) を /usr/lib/systemd/system/
に移動して次を実行して有効にします:
# systemdctl enable loadkeys
グラフィカル環境非依存
One method of enabling desktop environment-independent accessibility function is by passing it through X, given that it is build with XKB support. This can be done by setting parameters for the X server, as specified in its man page:
[+-]accessx [ timeout [ timeout_mask [ feedback [ options_mask ] ] ] ] enables(+) or disables(-) AccessX key sequences (Sticky Keys). -ardelay milliseconds sets the autorepeat delay (length of time in milliseconds that a key must be depressed before autorepeat starts). -arinterval milliseconds sets the autorepeat interval (length of time in milliseconds that should elapse between autorepeat-generated keystrokes).
上記のパラメータは ~/.xserverrc
ファイルに記述してください (ファイルは作成する必要があるかもしれません)。
For example, to enable Sticky Keys without timeout and without audible or visible feedback, the following can be used:
if [ -z "$XDG_VTNR" ]; then exec /usr/bin/X -nolisten tcp "$@" +accessx 0 0x1e 0 0xcef else exec /usr/bin/X -nolisten tcp "$@" vt$XDG_VTNR +accessx 0 0x1e 0 0xcef fi
Note that once X has started, e.g. by executing startx
, it still requires you to press the shift key 5 times to enable Sticky Keys. Unfortunately, this is needed each time X starts. Alternatively, a script can be used to automate this process.
Similar to most implementations, Sticky Keys can be disabled by pressing a modifier key and any other key at the same time.
マウスの操作
グラフィカル環境非依存
ボタンのマッピング
xmodmap を使うことで、グラフィカル環境に依存しない形でマウスボタンに機能をマッピングすることができます。その場合、xorg-xev などのツールによってマウスの物理的なボタンがどのように認識されて読み込まれているのか確かめる必要があります。通常、左・中・右の物理ボタンが順番に読み込まれます。
Once you have acquired these, continue by creating a configuration file on a suitable location, e.g. ~/.mousekeys
. Next, open the file with your favourite editor, and write the keyword pointer =
followed by an enumeration of the previously-found number of mouse buttons.
For example, a three button mouse with a scroll wheel is able to provide five physical actions: left, middle, and right click, as well as scroll up and scroll down. This can be mapped to the same functions by using the following line in the configuration file:
pointer = 1 2 3 4 5
Here, the location will tell the action required to perform an internal mouse-button function. For example, a mapping for left-handed people (left- and right button switched) might look like
pointer = 3 2 1 4 5
設定が完了したら xmodmap
を実行してマッピングをテストできます:
$ xmodmap ~/.mousekeys $ xmodmap -pp
設定に満足したら、~/.xinitrc
に上記の最初の行を記述することで起動時に有効にできます。
視覚支援
身体支援と同じように、最近のデスクトップ環境にはシステムの視覚的な部分を調整できる拡張機能のセットがあります。大抵は、'アクセシビリティ'や'視覚支援'というようなところにオプションがあります。また、個別のアプリケーションの設定に有用なオプションがある場合もあります。
テキスト読み上げ
テキスト読み上げを見て下さい。
コンソールと仮想ターミナルエミュレータ
/etc/vconsole.conf
を編集。~/.Xresources
を編集。
問題
- Wine, VirtualBox, QEMU など、ソフトウェアレイヤーを迂回するソフトウェアは入力デバイスの設定を認識しません。