The Java Desktop System includes an Accessible Login feature. The Accessible Login feature enables users to:
Log in to the desktop even if the user cannot easily use the screen, mouse, or keyboard in the usual way.
Launch assistive technologies at login time by associating a user action with an assistive technology application. The user can perform the user action from the standard keyboard, or from a keyboard, pointing device, or switch device that is attached to the USB or PS/2 mouse port. These user actions are called gestures.
Change the visual appearance of the login dialog before the user logs in, for example, to use a high contrast theme for better visibility.
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. GDM is the default login manager on Linux systems but not on Solaris systems, therefore the instructions to enable Accessible Login differ depending on the platform you are using.
To enable and configure GDM as the login manager on Solaris systems, perform the following steps:
Log in as the root user.
Open the file /etc/X11/gdm/gdm.conf.
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.
Search the file for the following line:
#AddGtkModules=false
and replace the line with the following:
AddGtkModules=true
This step enables the GtkModules.
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
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 On-Screen Keyboard
and Screen
Reader and Magnifier
. 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 gail, atk-bridge, anddwellmouselistener.
If you use pointing devices with switches, alternative physical keyboards, or switch and button devices, include keymouselistener.
On-Screen Keyboard
can operate
without gail and atk-bridge but with
a reduced feature set.
For optimum accessibility, include gail and atk-bridge.
Save the /etc/X11/gdm/gdm.conf file.
Enter the following command to stop the dtlogin
manager:
/usr/dt/bin/dtconfig -d
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
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
Edit the file /etc/passwd to append the following to the end of the gdm line:
:/etc/X11/gdm/home
Create the /etc/X11/gdm/home directory and assign ownership of the directory to the gdm user.
Restart your system.
To configure GDM on Linux systems, perform the following steps:
Log in as the root user.
Open the file /etc/X11/gdm/gdm.conf.
Search the file for the following line:
#AddGtkModules=false
and replace the line with the following:
AddGtkModules=true
This step enables the GtkModules.
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
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 On-Screen Keyboard
and Screen
Reader and Magnifier
. 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 gail, atk-bridge, and dwellmouselistener.
If you use pointing devices with switches, alternative physical keyboards, or switch and button devices, include keymouselistener.
On-Screen Keyboard
can operate
without gail and atk-bridge but with
a reduced feature set.
For optimum accessibility, include gail and atk-bridge.
Save the /etc/X11/gdm/gdm.conf file.
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
Edit the file /etc/group and append the following to the audio line:
,gdm
This step ensures that speech works with GDM.
Restart your system.
If you load the keymouselistener and dwellmouselistener GtkModules in the GDM configuration file, you can assign user actions to launch specific assistive technologies at login time. These user actions are called gestures. The gesture associations are contained in the following GDM configuration files:
/etc/X11/gdm/modules/AccessKeyMouseEvents
/etc/X11/gdm/modules/AccessDwellMouseEvents
If you modify these files, you must restart your system before the changes take effect.
The following sections contain examples of the gestures that you can add to the GDM configuration files.
The gestures must be contained in a single line in the AccessKeyMouseEvents file without line breaks. The formatting of this guide might display the examples in the following sections over two lines.
Edit the AccessKeyMouseEvents file to associate
keyboard shortcuts with assistive technologies. For example, the following
line enables you to press-and-hold Ctrl + S
for one second to start Screen Reader and Magnifier
in speech and Braille mode:
Solaris:
<Control>s 1 1000 10000 /usr/sfw/bin/srcore --login --disable-magnifier --enable-speech --enable-braille
Linux:
<Control>s 1 1000 10000 srcore --login --disable-magnifier --enable-speech --enable-braille
Edit the AccessKeyMouseEvents file to associate
keyboard shortcuts with assistive technologies. For example, the following
line enables you to press-and-hold Ctrl + M
for one second to start Screen Reader and Magnifier
in magnifier mode:
Solaris:
<Control>m 1 1000 10000 /usr/sfw/bin/srcore --login --enable-magnifier --disable-speech
Linux:
<Control>m 1 1000 10000 srcore --login --enable-magnifier --disable-speech
Edit the AccessKeyMouseEvents file to associate
switch, key, or button gestures with assistive technologies. Since the primary
input device for many On-Screen Keyboard
users
is a switch or button, this is a good way to enable users to start On-Screen Keyboard
at login time.
If there is a tendency for a user to start an application unintentionally,
you can associate the gestures with multiple switch presses or minimum durations.
For example, the following line starts On-Screen Keyboard
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:
Solaris:
<Switch2>3 100 2000 /usr/sfw/bin/gok --login --accessmethod=inversescanning --scan-action=switch1 --select-action=switch2
Linux:
<Switch2>3 100 2000 gok --login --accessmethod=inversescanning --scan-action=switch1 --select-action=switch2
Users who use single switches may prefer to start On-Screen
Keyboard
in automatic scanning mode. The following line starts On-Screen Keyboard
in automatic scanning mode when the user
presses the switch on an alternative access device for more than four seconds:
Solaris:
<Switch>1 4000 5000 /usr/sfw/bin/gok --login --accessmethod=automaticscanning --scan-action=switch1 --select-action=switch1
Linux:
<Switch>1 4000 5000 gok --login --accessmethod=automaticscanning --scan-action=switch1 --select-action=switch1
For information about the On-Screen Keyboard
operating modes, see the online Help for On-Screen Keyboard
.
You can 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. Edit the AccessKeyMouseEvents file to associate motion gestures with assistive technologies.
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.
For example, the following line starts On-Screen Keyboard
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:
Solaris:
TTLLBBRR O 10000 /usr/sfw/bin/gok --login --access-method=dwellselection --input-device=MOUSE[3]
Linux:
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 extended user input device, such as a head pointer or trackball, as specified in /etc/X11/XF86Config.
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 On-Screen Keyboard
,
including USB single switches and mouse-like pointing devices.
In the Java Desktop System Release 3 for Solaris, the gdm
user has a readable home directory. If this setting is removed on Solaris
systems for security reasons, Screen Reader and Magnifier
will not function properly during Accessible Login.
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. To prevent this problem, please remove any occurrences of the attributes SendCore or AlwaysCore from any of InputDevice lines in the X Server configuration file.