Java Desktop System Release 3 Accessibility Guide

Appendix A System Administration

This appendix describes some tasks that a system administrator needs to perform to enable accessible login and the assistive technologies that are available in the Java Desktop System.

A.1 Configuring the Desktop for Accessible Login

The Java Desktop System includes an Accessible Login feature. The Accessible Login feature enables users to:

A.1.1 To Enable Accessible Login

To enable the Accessible Login feature for the Java Desktop System, you must configure the desktop to use the GNOME Display Manager (GDM) as the login manager. Before you enable GDM as the login manager, you must also make some configuration changes to GDM.

To configure GDM and to enable GDM as the login manager, perform the following steps:

  1. Log in as the root user.

  2. Edit the file /etc/X11/gdm/gdm.conf.

  3. Search the file for the following line:

    #Greeter=/usr/bin/gdmgreeter

    and replace the line with the following line:

    Greeter=/usr/bin/gdmlogin

    This step enables a standard login greeting rather than a graphical login greeting.

  4. Search the file for the following line:

    #AddGtkModules=false

    and replace the line with the following:

    AddGtkModules=true

    This step enables the GtkModules.

  5. Search the file for the following line:

    #GtkModulesList=gail:atk-bridge:dwellmouselistener:keymouselistener

    and delete the # from the start of the line so that the line reads:

    GtkModulesList=gail:atk-bridge:dwellmouselistener:keymouselistener


    Note –

    The above lines must be displayed as single lines in the gdm.conf file without line breaks. The formatting of this guide may display the lines over two lines.


    This step loads all of the GtkModules to enable assistive technologies such as GOK and Gnopernicus. You can edit the line above further to load only the GtkModules that you require to support the user base. For example:

    • If you need to use the Screen Reader and Magnifier, include gail and atk-bridge.

    • If you need to use a pointing device without buttons or switches, include dwellmouselistener.

    • If you use pointing devices with switches, alternative physical keyboards, or switch and button devices, include keymouselistener.

    • GOK can operate without gail and atk-bridge but with a reduced feature set.

    For optimum accessibility, include gail and atk-bridge.

  6. To enable users to change the theme of the GDM login dialog, include the following line in the file:

    AllowGtkThemeChanges=true

    To restrict user changes to the visual appearance to a subset of the available themes, you can add a line similar to the following:

    GtkThemesToAllow=blueprint,HighContrast,HighContrastInverse

  7. Save the /etc/X11/gdm/gdm.conf file.

  8. Enter the following command to stop the dtlogin manager:

    /usr/dt/bin/dtconfig -d

  9. Enter the following commands to configure GDM as the login manager:

    svccfg import /var/svc/manifest/application/gdm2-login.xml

    svcadm enable application/gdm2-login


    Note –

    If you make any changes to the /etc/X11/gdm/gdm.conf file after you enable GDM, you can execute the following command to restart GDM and activate the changes:

    gdm-restart


  10. Edit the file /etc/passwd to provide a home directory for the gdm user account.

  11. Restart your system.

A.1.2 To Use Gestures to Start Assistive Technologies

If you load the keymouselistener and dwellmouselistener GtkModules in the GDM configuration file, you can assign user actions to launch specific assistive technologies. These user actions are called gestures. The gesture associations are contained in the following GDM configuration files:


Note –

If you modify these files, you must restart your system before the changes take effect.


The following sections describe some examples of gestures.

A.1.2.1 To Start Gnopernicus Using a Keyboard Shortcut

The file AccessKeyMouseEvents can associate keyboard shortcuts with assistive technologies. For example, the following line enables you to press-and-hold Ctrl + S for one second to start Gnopernicus in speech and Braille mode:

<Control>s 1 1000 1000 srcore --login --disable-magnifier --enable-speech --enable-braille

You can assign similar keyboard combinations to start Gnopernicus in magnifier mode only. For example, the following line enables you to press-and-hold Ctrl + M for one second to start Gnopernicus in magnifier mode:

<Control>m 1 1000 1000 srcore --login --enable-magnifier --disable-speech


Note –

The above lines must be displayed as single lines in the AccessKeyMouseEvents file without line breaks. The formatting of this guide might display the lines over two lines.


A.1.2.2 To Start GOK Using a Switch or Button Gesture

You can use button, key, or switch actions to start assistive technologies. Since the primary input device for many GOK users is a switch or button, this is a good way to enable users to start GOK at login time.

To reduce the likelihood of starting an application unintentionally, you can associate the gestures with multiple switch presses or minimum durations. For example, the following line in the file AccessKeyMouseEvents starts GOK in inverse scanning mode when the user presses the switch that is defined as Switch 2 three times within two seconds, for a minimum of 100 milliseconds for each press:

<Switch2>3 100 2000 gok --login --accessmethod=inversescanning --scan-action=switch1 --select-action=switch2

Users who use single switches may prefer to start GOK in automatic scanning mode. The following line starts GOK in automatic scanning mode when the user presses the switch on an alternative access device for more than four seconds:

<Switch>1 4000 5000 gok --login --accessmethod=automaticscanning --scan-action=switch1 --select-action=switch1

For information about the GOK operating modes, see the online Help for GOK.


Note –

The above lines must be displayed as single lines in the AccessKeyMouseEvents file without line breaks. The formatting of this guide might display the lines over two lines.


A.1.2.3 To Start GOK in Dwell Mode Using a Motion-only Gesture

You can also define gestures that involve only the motion of a pointing device such as a mouse, or an alternative pointing device, such as a head pointer or trackball. The syntax of the gesture does not change depending on whether you are using a mouse or an alternative pointing device.

If the dwellmouselistener GtkModule is loaded, alternative pointing devices are temporarily latched to the core pointer. This means that if the user moves the alternative pointing device, the onscreen pointer moves.

The following line starts GOK in dwell mode when the user moves the onscreen pointer from inside the login dialog through the top edge, back into the dialog through the top edge, out of the dialog through the left edge, back into the dialog through the left edge, and similarly through the bottom and right edges of the dialog in a cross pattern:

TTLLBBRR O 10000 gok --login --access-method=dwellselection --input-device=MOUSE[3]

Note that the --input-device parameter specified in the gesture must match the name of the user input device as specified in /etc/X11/XF86Config.


Note –

The above line must be displayed as a single line in the AccessKeyMouseEvents file without line breaks. The formatting of this guide might display the line over two lines.


A.1.3 Additional Requirements for Accessible Login

To use text-to-speech services at login time, for example, to start Gnopernicus in speech mode, the GDM user must be a member of the audio group. To confirm group membership, check the file /etc/group.

To enable the Accessible Login feature to use alternative pointing devices and switch devices such as sip-and-puff switches, wheelchair-mounted switches, or trackballs, you might need to modify your X server system configuration to recognize these devices. You can use most devices that emulate mouse buttons with the Accessible Login feature and GOK, including USB single switches and mouse-like pointing devices.

In the Java Desktop System Release 3, the GDM user has a readable home directory. If this setting is removed for security reasons, Gnopernicus will not function properly during Accessible Login.


Note –

You should not configure an alternative input device to control the primary onscreen pointer. This might result in undesirable behavior or cause situations from which the user of the alternate input device cannot recover without using the primary keyboard or mouse.


A.2 Configuring the Java Environment for Accessibility

To configure the Java Environment for accessibility, perform the following steps:

  1. Log in as the root user to the base directory of the Java SDK installation.

  2. Enter the following command to change to the jre/lib directory:

    cd jre/lib

  3. Enter the following command:

    ln -s /usr/share/jar/accessibility.properties

  4. Enter the following command to change to the ext directory:

    cd ext

  5. Execute the following command:

    ln -s /usr/share/jar/gnome-java-bridge.jar

A.3 Enabling Full Screen Magnification in Gnopernicus

To enable full screen magnification in Gnopernicus, perform the following steps:

  1. Configure two video cards as :0.0 and :0.1.


    Note –

    It is not essential that both video cards have the same resolution and bit depth. However, if the resolutions and bit depths of both cards differ greatly, the apparent magnification factor may differ slightly from the nominal magnification factor.


  2. Click Launch, then choose Applications -> Accessibility -> Screen Reader and Magnifier to start Gnopernicus.

  3. Click on Preferences.

  4. Click on Magnifier.

  5. Click on Add/Modify.

  6. Specify :0.0 as the Source for magnification.

  7. Specify :0.1 as the Target for magnification.

  8. Set the Zoomer Placement to be [0,0,1023,767].


    Note –

    These instructions assume a video resolution of 1024x768.


  9. Restart Gnopernicus. The magnified view is displayed on the second display 0.1.

A.4 Configuring the X Server for Multiple Input Devices

To configure the system to use a standard physical mouse and another input device such as a single switch device or head tracker device, perform the following steps:

  1. Before you connect the auxiliary input device to your system, enter the following command to list the existing devices:

    ls -l /dev/usb/hid*

  2. Connect the auxiliary device to your system.

  3. Enter the following command again to list the new input device:

    ls -l /dev/usb/hid*

  4. Open the file /usr/openwin/server/etc/OWconfig.

  5. Add the following lines to the OWconfig file:

    # Sun Mouse module
    	class="XINPUT" name="IMOUSE2"
    	dev="/dev/usb/hid2" strmod="usbms"
    	ddxHandler="ddxSUNWmouse.so.1"
    	ddxInitFunc="ddxSUNWmouseProc";

    where:

    • the name option starts with the string IMOUSE but is extended to form a unique string, such as IMOUSE2 or IMOUSE3, depending on the number of existing devices.

    • the dev option specifies the device name that you identified in Step 3.

  6. Remove the following lines from the OWconfig file:

    # Null Mouse module
    	class="XINPUT" name="NMOUSE"
    	ddxHandler="ddxSUNWmouse.so.1"
    	ddxInitFunc="ddxnullmouseProc";

  7. Restart the X Server.