|
|
|
||
| Opening the 'Edit key definition' window | |
Any key assignment may be entered or changed in the Edit key window
shown here. This window can be opened in a variety of ways:
|
| |||
| Keyboard short-cuts in the 'Edit key' window | |
|
| Editing a key definition | |
|
All parameters of a key assignment can be altered and set in this window.
The window is divided in three sections, each presenting a specific set of
information. At the bottom of the window are the buttons and below the
buttons is the Help text. Whenever Learn mode is enganged, the Help
section will guide your through the process.
|
| The upper part of the window describes the key you've pressed. Each key produces a KeyCode, which is represented here as an 8-digit hexadecimal number. The hexadecimal number is constructed of 4 individual parameters which together describes the usage of the key. The modifier keys (Control, Shift, Alt and GUI) can be used to expand the range of possible KeyCodes and you may note that you can even discriminate the Left modifier keys from the Right ones. |
|
|
The 4 individual parameters have each been given a different colour so
that it will be easier to understand how the KeyCode number is built.
Please not that menu have been added to make it possible to select any
pre-defined key. Please note that these menus are built 'on the fly' from
the USB definition files, which may take a second or so.
|
| The middle section of the window allows you to link the KeyCode to a specific device. This can be done by defining the DeviceID code for that device, the PortID (the USB socket to which the device is connected), or a combination of these two. |
|
|
Ticking Device allows you to link the KeyCode to a specific brand and
model keyboard. If you know the DeviceID, you may type it directly in the
number field at the right hand side. If the device is currently connected
to your computer, you may also select the required device by clicking the
menu-icon to the right of the number field. A menu will show all currently
connected HID devices.
Ticking Port allows you to link the KeyCode to a specific USB socket. This method is slightly more complex as the above one, so it is unticked by default. There are two ways to link to a specific USB socket: by specifying the absolute port number, or by specifying the relative port number. Port - Hardware port number Selecting Hardware port number allows you to enter the absolute port number. This means that the KeyCode will be linked to that specific hardware USB socket. You may use the menu-icon to the right of the PortID to select a currently connected device. Please note that, if you use this method, you should always leave your keyboard connected to the same USB socket. Also note that, if Device is also ticked, you have to be certain that both conditions are true. In other words: the specified DeviceID should be connected to the specified PortID. Alternatively, untick Device, or use the Port Index instead (see below}. Port - Index This method can only be used in combination with the DeviceID above and allows you to specify the relative port number, or Index of the port. This method is particularly useful if you have two or more identical keyboards connected. The keyboard with the lowest PortID will be given Index 0. THe next one will be 1 and so on. Use the menu to select the required Index. |
| The lower part of the window is used to specify the required action. The first field is used to select the action from a menu. An icon to the right of the field will show the selected action. Two more fields are available (shown here as Task and Path) the contents of which varies between actions. |
|
|
In the example shown here, the Action Launch application is selected.
The bottom field holds the Path to the application, whilst the middle
field contains the name of the Task. Other Actions will use these fields
for different parameters. The Actions are described in more detail below.
|
| Learn mode | |
|
Setting up a KeyCode, a DeviceID and an Action can be a complicated task.
To take the pain out of this whole exersice, a Learn mode has been
implemented, which will take you through the process step-by-step.
Click the Learn button or use the key combination Control-L to engage the Learn mode. Whilst in Learn mode, the Learn button at the bottom of the window will flash. The first field will be highlighted by a red rectangle and the Help text at the bottom of the window will guide you through the process. Press Enter to move to the next field if you don't want to change this field. The space bar may be use to toggle an option switch. |
| |||
| Actions in more detail | |
A selection of Actions is available and each key may be assigned
its own Action. The section below describes each Action in detail.
The following Actions are currently available:
|
| 1. Launch Application | |
|
!HID allows you to start any application from a single key press.
The application will be started as if it was double-clicked.
If the application is already running, !HID will try to issue
a Select-click (i.e. left mouse button click) on the application's
icon in the iconbar. For this to work correctly, !HID needs to
know not only the Path to the application, but also the Task name.
|
|
Task name The Task name is the name by which the application is known by the window manager when it is running. There are several ways to find out what name that is:
Path name A very important field when launching an application is the exact path to the program. You may type the path name manually or drag an application into this window. Once the path is set, !HID knows where to find your application. This would normally mean that you are not free to move your application to another location, without telling !HID. However, when dragging your application directly into the window, !HID will look for a system variable containing the path and, if it exists, use that in preference. E.g. if you have a program called !USBinfo in the
Utilities folder, the full path to that application
would be something like: ADFS::MyDisc.Utilities.!USBinfo.
As the appliction has also setup a system variable pointing to
that path, !HID will use <USBinfo$Dir> instead.
You may switch between the two methods at any time by clicking the Toggle path button at the bottom of the window. If you want to launch an application that is permanently running and might not have a path, such as the Filer, you may leave this field blank. |
| 2. Execute file | |
|
In some cases you may want to issue a more complex sequence of events.
E.g. you might want to start a series of applications with a single key stroke.
In such cases you would place the commands to launch each application in an
Obey file and launch the Obey file from !HID.
|
Technically speaking, !HID issues a Filer_Run command to lauch the file.
This means that it could be used on any type of file, not just Obey files.
Issuing a Filer_Run command has the same effect as double clicking a file
in a filer window. This is best illustrated in the following example.
Assume you would like to collect your e-mail by pressing GUI-M but you need
several programs to be launched for that. Use your favorite text editor to
create an Obey file and put it in a convenient place,
e.g. ADFS::4.$.Internet.Launch.
The file would contain a number of commands to launch the various applications,
e.g.:
Filer_Run adfs::4.$.Internet.!Messenger
|
| 3. Command | |
|
This Action allows you to execute a *Command as if it was typed from the command line (CLI).
!HID will execute your command with a SWI call XOS_CLI, which allows any errors to be
suppressed. The advantage of this method is that it can also be used outside of the desktop.
|
CLI commands (often called *-commands) can be used for a variety of things. Just an example
to illustrate this.
Most wheel mice only have a single scroll wheel, which would be used to scroll vertically.
Assume you want to use one of the extra mouse buttons (say, button 4) to toggle the use of
the scroll wheel between horizontal and vertical movement. You would then enter the command:
USBHID_SwapWheels. That's all.
|
| 4. Goto URL | |
|
As most computers have access to the Internet these days, you might want to setup some
key strokes or key combinations to quickly access your preferred websites. Select the
Action Goto URL and enter the required URL in the text field below it.
|
Launching a URL will cause the current browser to open the requested page. If the
browser isn't currently running, the software will try to start it first.
Rather that opening a URL, you may also use this Action e.g. to open an e-mail or
access an FTP site. Some examples:
www.xat.nl |
| 5. Key numbers | |
|
Whenever a key is pressed on the keyboard, the keyboard generates
a ScanCode. The ScanCode is translated by the keyboard driver
into an internal key number (often referred to as the IntKey number).
The IntKey number is then converted into an appropriate character
by the International Keyboard Driver, which might be different for
each language.
|
|
Under some circumstances you may wish to enter an
IntKey code directly, which is possible by selecting Key number(s)
from the Action menu. Next enter the required IntKey number on the
bottom line. Multiple IntKey numbers may be entered by separating them
with spaces. Hexadecimal numbers may be entered by preceeding them
with an & sign. The advantage of using IntKey numbers, as opposed
to any of the other actions below, is that they can also be used
outside of the desktop (e.g. from the command line).
For each key number entered, the software will generate a key down event (as if the keys were pressed) and 10 ms later the keys will be released. |
| 6. Text sequence | |
|
Any sequence of printable characters may be entered with a single
key press. To do this, select Action Text sequence from the menu
and type the required text on the bottom line (marked text).
Any control characters should be preceeded by a '|' character.
Accented characters are allowed in the text sequence.
|
So, if you want to enter, say, a Cariage Return (CR) character in
the middle of the text sequence, you should enter '|M'. Het latter
means: Control-M, which is the ASCII code for a Cariage Return.
If you would enter, for example:
Best regards,|MRené Thomson|M
This would be printed at the text cursor like this: Best regards,René Thomson
|
| 7. WIMP key codes | |
|
The RISC OS window environment (WIMP) uses different codes to send
to an application, to allow for more than 256 keys to be processed.
This way complex key combinations, such as Ctrl-Shift-F4 can be
used by an application. If you want to send such codes to the current
application, select Action Wimp key codes from the menu.
For example: if you want to open a command line window, you should
enter 492 which is the WIMP key code for Ctrl-F12.
|
Please note that you can only enter one such code in this way.
Any other text you enter on the bottom line will be ignored.
This might be useful for adding a meaningful comment to the
code, e.g.: 492 (Ctrl-F12). If you add a comment
to the line, please ensure that there is at least one space
after the initial code. Click the menu icon to the right of the
text field to open a list of special WIMP key codes that you
may want to select directly.
|
| 8. edia Control | |
|
This action may be quite useful if you want to control a media player,
such as the CD player in your computer. The method of control can be
set in Choices...
Support for CD control is highly optimised in order
to make the keys more responsive. E.g. if you rotate the volume control
on the keyboard, this will have an instant effect on the audio volume
of your CD. No delay will be noticable.
|
|
| Related subjects | |
|
|
|
|
© Copyright Paul Reuvers
X-Ample Technology bv
| |