Accessibility (日本語) - ArchWiki

# Accessibility (日本語)

身体的または視覚的なハンディキャップを持っているユーザーのためにアクセシビリティを提供する方法は様々なものがあります。しかしながら、デスクトップ環境を使わない場合、きちんと使えるようにするまで設定に多少の手直しが必要になります。

## デスクトップ環境

最近のデスクトップ環境は拡張機能のセットが付いており、その中にアクセシビリティのオプションを設定するツールも入っています。大抵は、'アクセシビリティ'とかそれぞれの入力デバイス (例: 'キーボード'や'マウス') の設定にオプションが存在します。

Note: デスクトップ環境の設定ツールを使用する場合、デスクトップ環境に非依存のツールと設定が衝突する可能性があります。

## 身体支援

音声認識については、音声認識を見て下さい。

### キーボードの操作

点字については、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" という文字はそのキーのスティッキーバージョンを使用することを示しています。

Note: 以下の手順は全ての TTY のキーマッピングが変更されます。キーコードが正しいことを確認してください。間違っていると重要なキーが使えなくなる可能性があります。

次のコマンドを実行して新しいマッピングをロード:

    # 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).

These parameters must be placed in the file `~/.xserverrc`, which you may need to create.

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.

### マウスの操作

#### グラフィカル環境非依存

##### ボタンのマッピング

By using xmodmap, you can map functions to mouse buttons independent of your graphical environment. For this, you need to know which physical button on your mouse is read as which number, which can be found by a tool such as xorg-xev. Generally, the physical buttons of left, middle, and right are read as the first, second, and third button, respectively.

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

When you are done, you can test and inspect your mapping by running `xmodmap`:

    $ xmodmap ~/.mousekeys
    $ xmodmap -pp

Once satisfied, you can enable it on start by placing the first line in `~/.xinitrc`.

## 視覚支援

身体支援と同じように、最近のデスクトップ環境にはシステムの視覚的な部分を調整できる拡張機能のセットがあります。大抵は、'アクセシビリティ'や'視覚支援'というようなところにオプションがあります。また、個別のアプリケーションの設定に有用なオプションがある場合もあります。

### テキスト読み上げ

テキスト読み上げを見て下さい。

### コンソールと仮想ターミナルエミュレータ

- `/etc/vconsole.conf` を編集。
- `~/.Xresources` を編集。

## 問題

- wine, virtualbox, qemu など、ソフトウェアレイヤーを迂回するソフトウェアは入力デバイスの設定を認識しません。

Category:

- Accessibility (日本語)