KeyFix v1.05

Introduction

Users of earlier Acorn computers (BBC B, Master, etc.) will be familiar with a keyboard Shift Lock key as well as Caps Lock; this key is not available on the Archimedes and later ranges of Acorn computers. A Shift Lock key provides access to upper case characters, as Caps Lock, and those normally obtained by holding down Shift. Its operation is identical to Caps Lock - i.e., once toggled on, remains active until toggled off. KeyFix provides this missing Shift Lock and, in addition, a Ctrl Lock and Alt Lock.

Although it only performs a seemingly minor function, KeyFix can be big help to some users with special needs. Many people can only use the keyboard with one hand or, indeed, with a mouth-stick or other such adaptation. Holding down one key whilst pressing another can prove awkward, if not impossible. Likewise, using the mouse and keyboard together - e.g., Shift drag. KeyFix can 'hold down' the shifting keys (Shift/Ctrl/Alt) for keyboard and mouse operations. The various options are described in detail below.

Whilst KeyFix cannot claim to enable anyone to use the computer's keyboard, it can go a long way to making it easier for some.

From version 1.03, KeyFix has a keyboard mouse emulator controlled using the keypad keys. Everything you can do with the real mouse can be done with the emulated mouse.

Top of page

Getting started

KeyFix is run in the usual way, by double-clicking on the !KeyFix icon in the directory viewer. It will install an icon on the right of the iconbar. Once installed, KeyFix is ready to use, according to the settings in its configuration file.

The iconbar menu

Pressing the middle or Menu button over the iconbar icon will display the iconbar menu.

Iconbar menu

The items on this behave as follows:

Info leads to an About this program info box. This will show which version of KeyFix you have.

'About this program' info box

Config... opens the KeyFix configuration dialogue box. It can also be opened by clicking on the iconbar icon with Adjust.

Quit removes the KeyFix program from memory.

Top of page

Configuring KeyFix

'Configuring KeyFix' dialogue box

The first two options in the configuration dialogue, Use shifts for mouse actions and Use shifts for keyboard actions determine whether or not the shifting keys will be 'held down' for mouse or keyboard operations. They can be selected individually, together or not at all. If, for example, you just want KeyFix to act on keystrokes, then select Use shifts for keyboard actions but leave Use shifts for mouse actions unselected.

For keyboard use, the type of shift applied can be Locking or Resetting. If Locking is selected the shift is toggled on and off in the same manner as Caps Lock. If Resetting is selected the shift is also released after the next keypress, excluding Shift, Ctrl and Alt. A Resetting shift is, for example, particularly useful when entering a large amount of text as it saves toggling Shift off after an initial capital letter, thereby saving many keypresses.

The next group of icons determine the use of Hot keys. These are the keys KeyFix assigns to perform the shift functions. There is another way to use KeyFix, see below.

The first nine icons select which of the Shift/Ctrl/Alt keys will be assigned as the hot keys. The choices are Either, Left or Right for each shift.

Either assigns both Shift/Ctrl/Alt keys.

Left assigns the left Shift/Ctrl/Alt key.

Right assigns the right Shift/Ctrl/Alt key.

Note that you can, if you wish, choose not to use a particular lock. For example, if you wanted Shift Lock and Ctrl Lock but not Alt Lock, deselect the Alt hot key by clicking on it with Adjust.

Audio feedback if on sounds a beep each time a hot key is pressed. The tone of the beep varies depending on whether the shift is being turned on or off.

The Mouse emulator group of icons can be configured as follows:

Pointer speed controls the speed the pointer moves across the screen in OS units per second when the emulator is in continuous mode. This is the default mode.

Pointer nudge controls how far the pointer moves in OS units when the emulator is in step mode.

On/off key defines a key to use for turning the emulator on or off. There is a syntax for defining key presses. The keys are all given names F1 to F12 for the function keys or the letter on the key for the other keys. This name can be prefixed with C_ for the key plus Ctrl, S_ for the key and Shift or CS_ for the key and Ctrl plus Shift. Some other names are Tab, Escape, Insert, Delete, Copy, CUp, CDown, CLeft, CRight, Space and Return. It is up to the user to find key presses that are compatible with their other applications.

KeyFix also has the ability to define the on/off key by its low-level key number in the form Xnn where nn is a hex number - e.g., X0E would be the Scroll Lock key. However, you cannot use the Xnn form in conjunction with C_, S_, or CS_. This may not seem very useful, but if you have a Risc PC and have replaced the original keyboard with one that has the 3 extra Windows keys, you can dedicate one of these to the hot key.

In order for RISC OS to be aware of the extra keys we need to patch the PS2Driver module. One such patch, WinKbdPat, already exists and is included in the KeyFix distribution by kind permission of its author, Robin Watts. See WinKbdPat's !Help file for details of its use.

The Windows keys map as: Windows key left - X68, Windows key right - X69 and Application key - X6A.

Note that you can choose not to use an on/off key by leaving a blank entry.

Button click type controls whether the emulator produces Short or Long clicks. Long clicks are akin to the usual use of the mouse; clicks are held as long as the emulated button is pressed. For most users this is likely to be the preferred mode. Short clicks are brief and cannot be held. This mode is useful if you are imprecise with your button clicks. A side effect of setting the button click type to short is that you will no longer be able to perform drags using the real mouse buttons while the emulator is active.

The final row of four buttons act on your choices when clicked on with Select or Adjust.

Default will restore KeyFix to the settings in its configuration file.

Save will apply the current settings and save them in the file !KeyFix.Resources.Config for use as the program's defaults.

Cancel will ignore any changes made and close the dialogue box. While the configuration dialogue box has input focus, pressing Escape has the same effect.

Set will apply the current settings. While the configuration dialogue box has input focus, pressing Return in the last writable icon has the same effect.

Top of page

Using KeyFix

If you have not used KeyFix before, you should first configure it for your preferred default settings. Choose Config... from the KeyFix menu or click Adjust on the iconbar icon and set the appropriate options. Finally, click on Save.

There are two ways to use KeyFix, from the KeyFix window or with hot keys. Clicking on the iconbar icon with Select will open the KeyFix window. This will provide a simulation of the lock keys which can be toggled on or off by clicking on them with the mouse. The simulated keys, like real ones, will jog down and an indicator will 'illuminate' when on. The iconbar icon will also reflect the status of the various locks by turning an indicator on or off above each of the letters, S, C or A - representing Shift, Ctrl and Alt. Likewise, when using hot keys, the status of the locks is shown on the iconbar icon and in the KeyFix window, if open.

The locks can be used individually or together. So, for example, to press Shift+Ctrl+F1 to cause Edit to expand tabs:

  1. Ensure Use shifts for keyboard actions and Hot keys are selected (it doesn't matter if the key shift type is Locking or Resetting),
  2. give Edit the caret and press the Shift Lock and Ctrl Lock hot keys (it doesn't matter in which order),
  3. Press F1,
  4. if necessary, release the locks by pressing the hot keys again.
The KeyFix window could have been used instead of hot keys, but is probably more convenient when using the mouse. For example, to open an application directory, first click on the Shift button, then double-click on an application icon in a directory viewer. The application directory will have been opened without using the keyboard.

'KeyFix' dialogue box

The position of the KeyFix window opens at on screen is also saved in the configuration file.

Top of page

The mouse emulator

As the emulated mouse works transparently alongside the real mouse, it can be used as well as or instead of it. In the following descriptions, therefore, where I refer to button clicks, they could equally be performed using the emulated or real mouse.

The keypad plays the role of mouse emulator as follows:

Mouse emulator key layout

Num Lock, / and * act as Select, Menu and Adjust.

0 makes the next click a double-click. To, for example, run an application, press keypad 0, position the pointer over the application's icon in the directory viewer and click on it with Select. This key also has audio feedback (dependant on the Audio feedback setting in the Hot keys section).

Enter starts a drag for the next button click. To, for example, drag an application to the Pinboard, press keypad Enter, position the pointer over the application's icon in the directory viewer and click on it with Select, the drag will begin and the application's icon will be 'picked up'. Position the application where you want it and either click again with Select or press keypad Enter. This key also has audio feedback (dependant on the Audio feedback setting in the Hot keys section).

1, 2, 3, 4, 6, 7, 8 and 9 control pointer direction SW, S, SE, W, E, NW, N and NE. The pointer will move according the which mode it is in.

5 places the pointer at screen centre.

. toggles between continuous and stepped mode - i.e., the pointer moves as long as a direction key is held down, or in discrete steps. Continuous pointer movement is the default. Stepped mode is useful for accurate positioning of the pointer. Note that auto-repeat is active in this mode. This key also has audio feedback (dependant on the Audio feedback setting in the Hot keys section).

+ and - adjust pointer speed/step. In continuous mode each press of + or - will increase or decrease the pointer speed by 50 OS units per second. In stepped mode each press of + or - will increase or decrease the pointer step by 2 OS units.

When the mouse emulator is active the KeyFix window expands to show some additional icons.

Expanded 'KeyFix' dialogue box

From left to right these represent: double-click pending, pointer movement mode and drag pending. Not only do these icons reflect the state of the emulator, they can also be clicked on and used like their keypad equivalents.

Indicates the next click is a single click.

Indicates the next click is a double-click.

Indicates the pointer is in continuous movement mode.

Indicates the pointer is in stepped movement mode.

Indicates no drag is pending.

Indicates a drag is pending.

Top of page

Distribution

KeyFix may be freely distributed. We encourage you to pass it on to anyone who may find it useful. We discourage you from making any charge for this service.

Comments, suggestions, bugs

To:

#330, Fargo (John Ferguson)
#134, David Pilling

at Arcade BBS Fido Node 2:254/27.0,

or Internet

john@fergusn.demon.co.uk

david@pilling.demon.co.uk


Author! Author!

KeyFix was designed and documented by John Ferguson, and coded by David Pilling.

WinKbdPat is copyright Robin Watts (Robin.Watts@wss.co.uk) and is available from ftp://ftp.comlab.ox.ac.uk/tmp/Robin.Watts/

Top of page