Accessibility Computing Numerical Pointer

From OLPC
Revision as of 09:30, 6 February 2007 by 81.129.62.239 (talk) (Securing ....)
Jump to navigation Jump to search

Introduction

The Accessibility Computing Numerical Pointer is intended to be implemented as an auxiliary program which can be accessed from any program which wishes to use it.

The idea is that by using just ten digit keys and one extra key to signify ENTER that pointer events and associated information can be generated and passed to the calling program. In addition, the Accessibility Computing Numerical Pointer is intended to provide some other facilities, such as generating Unicode characters and selecting colours.

The system could be used in various systems, not just the OLPC laptop. If being implemented using a basic telephone keypad it is suggested that the star key be used to represent the Enter key of this specification.

Specification

The Numerical Pointer Room

The numerical pointer is specified for three-dimensional space so that it is available for possible advanced usage. It is recognized that most usage will be in two-dimensional space and that the z value will not be used in those situations.

At entry the following values are set.

integer ACNP_leftbutton=0
integer ACNP_rightbutton=0
integer ACNP_centrebutton=0
integer ACNP_shiftkey=0
integer ACNP_controlkey=0
integer ACNP_altkey=0
integer ACNP_pointerevent=0
integer ACNP_x=0
integer ACNP_y=0
integer ACNP_z=0

The display could show three checkboxes for the buttons and three checkboxes for the keys, set out in a three wide by two high grid with left button above shift key, right button above control key and centre button above alt key; a set of radio buttons for the events and some text boxes for the values of x, y and z.

The response to keys is as follows.

Keying 0 moves to the Unicode room.

Keying 1 sets ACNP_leftbutton to have a value of 1.

Keying 2 sets ACNP_rightbutton to have a value of 1.

Keying 3 sets ACNP_centrebutton to have a value of 1.

Keying 4 moves to the key setting alcove.

Keying 5 moves to the pointer event selection alcove.

Keying 6 moves to the resetting alcove.

key setting alcove

Keying 1 sets ACNP_shiftkey to have a value of 1 and then the operating point moves to the Numerical Pointer room.

Keying 2 sets ACNP_controlkey to have a value of 1 and then the operating point moves to the Numerical Pointer room.

Keying 3 sets ACNP_altkey to have a value of 1 and then the operating point moves to the Numerical Pointer room.

pointer event selection alcove

Keying 0 sets a null event by seeting the value of ACNP_pointerevent to 0. This is in effect so as to report back to the calling program that the call to the Accessibility Computing Numerical Pointer is cancelled and that no event is being provided. The operating point then moves to the Numerical Pointer room.

Keying 1 to 7 selects an event type by setting the value of ACNP_pointerevent. The operating point then moves to the Numerical Pointer room.

The meanings of the various values of ACNP_pointerevent are as follows.

0 means no event.

1 means a button or buttons pressed event.

2 means a button or buttons released event.

3 means a button or buttons clicked event.

4 means a button or buttons double clicked event.

5 means a pointer move event.

6 means a pointer enters over event.

7 means a pointer exits off event.

resetting alcove

The reestting alcove is useful for resetting buttons back to 0 if one or more of them has been pressed by mistake.

Keying 1 sets ACNP_leftbutton to have a value of 0. The operating point then moves to the Numerical Pointer room.

Keying 2 sets ACNP_rightbutton to have a value of 0. The operating point then moves to the Numerical Pointer room.

Keying 3 sets ACNP_centrebutton to have a value of 0. The operating point then moves to the Numerical Pointer room.

Keying 4 sets ACNP_shiftkey to have a value of 0. The operating point then moves to the Numerical Pointer room.

Keying 5 sets ACNP_controlkey to have a value of 0. The operating point then moves to the Numerical Pointer room.

Keying 6 sets ACNP_altkey to have a value of 0. The operating point then moves to the Numerical Pointer room.

x value alcove

y value alcove

z value alcove

The Unicode Room

At entry the following values are set.

integer ACNP_codepoint=0

The response to keys is as follows.

Keying 0 moves to the Colour Selection room if ACNP_codepoint has the value 0. If ACNP_codepoint does not have the value 0 then the value of ACNP_codepoint is multiplied by 16.

Keying any of 1 through to 8 causes the value of ACNP_codepoint to multiplied by 16 and the value indicted by the key added to it. For example, keying 3 causes the value of ACNP_codepoint to multiplied by 16 and then have 3 added to it.

Keying 9 moves to the higher values alcove.

Keying Enter leaves the Accessibility Computing Numerical Pointer and, depending upon the implemenation, may generate a keypressed event or similar to the program from which the Accessibility Computing Numerical Pointer was accessed.

higher values alcove

Keying 0 through to 6 is used to enter the following hexadecimal items, updating the value of ACNP_codepoint and going back to the Unicode room.

key 0 for hexadecimal 9
key 1 for hexadecimal A
key 2 for hexadecimal B
key 3 for hexadecimal C
key 4 for hexadecimal D
key 5 for hexadecimal E
key 6 for hexadecimal F

(Responses for 7, 8, 9 and Enter are not defined at present, they should be implemented as "do nothing".)

The Colour Selection Room

At entry the following values are set.


The response to keys is as follows.


preset colours alcove

red value alcove

green value alcove

blue value alcove

a value alcove

Implementation on the OLPC laptop