Keyboard Mapping in Reflection for the Web
Technical Note 1431
Last Reviewed 02-Jun-2011
Applies To
Reflection for the Web 2014 (All Editions)
Reflection for the Web 2011 (All Editions)
Reflection for the Web 2008 (All Editions)

Reflection for the Web has very powerful keyboard mapping functionality. Keys can be easily mapped to transmit terminal keys, transmit strings, run macros, load Java classes or execute commands. This technical note provides information on Java keyboard limitations and keyboard mapping workarounds.

For more information on keyboard mapping for your emulation type, start a Reflection session, and then click Help Topics on the Help menu in your emulation session.

Platform Independence

Reflection for the Web keyboard mapping is designed to be platform independent – in other words, the keyboard mapping works equally well on Windows clients, Linux client, Mac clients, etc. The platform independent design means that Reflection for the Web works somewhat differently than what you often see in a Windows-based emulator. To map keys, you do not click on a screen with a picture of a keyboard. Instead, you press the key or key combination that you want to map, and then tell Reflection for the Web what you want to map it to.

Accessing the Keyboard Mapping Dialog

Setup->Keyboard is not available at Basic Menu level – in other words, by default, end users cannot remap keys. To map keys as an administrator, launch the session from within the Administrator Console, and select Setup->Keyboard. The keyboard mappings you create will be distributed to all users of the session. To give end users the ability to map their own keys, use the User Interface Profiler on the Administration Menu to give end users access to Setup->Keyboard.

How Characters are Sent to the Host

The Java Virtual Machine (VM) acts as an intermediary between Reflection and your PC's keyboard driver. When you press a key, the driver interprets the keystroke and sends an event to the VM keyboard. The VM then interprets the key event and passes it to Reflection. Reflection emulation matches the key event to a host action or character, and sends it to the host computer.

Figure 1 - How key events are sent to the host
Figure 1 - How key events are sent to the host

Because the VM translates the key events sent to Reflection, the key you press on the PC keyboard does not always match the key event Reflection receives. Specific examples are listed in the section below.

VT Emulation and Carriage Return

In VT emulation, Ctrl + M sends a line feed (LF); it should send a carriage return (CR). If you need Ctrl + M to send a CR, you need to remap the keystroke. As a user, you can remap the keystroke in the terminal window for yourself (Setup > Keyboard) if your administrator has enabled the appropriate User Preference Rules. As an administrator, you can remap the keystroke in the Administrative WebStation (Session Manager), making the keystroke available for all users.

To remap the keystroke,

  1. Press the Control and the M keys at the same time.
  2. Select Transmit String as the Action Type.
  3. Double-click the following line:
\u000D CR ctrl-M

Considerations for Non-US Keyboards

Reflection for the Web version 6.x and higher includes international keyboard support.


Most European keyboards contain the AltGr modifier key, which is used to access a third character on some keys. The AltGr key is defined in the Java 2 SDK version 1.2 or higher. You should be able to map the AltGr key in Reflection for the Web 4.5 or higher using the Sun Java Plug-in 1.3.1_01 or higher; or any Java Virtual Machine that fully supports the AltGr key as defined in the Java 2 SDK 1.2 or higher.

Enhanced Keyboard Mapping

By default, Reflection for the Web includes a Java applet parameter called java14keypad, which provides keyboard mapping enhancements to clients running the Sun Java Virtual Machine 1.4.x or higher.

Note: Clients using the Microsoft Virtual Machine or an earlier version of the Sun JVM do not have the following capabilities:

  • Keypad keys defined as the keys on the numeric keypad.
  • Differentiation between the Enter key on the numeric keypad and the Enter key on the main keyboard.
  • Users' ability to map the modifier keys on the right-hand side of the keyboard (Right-Shift, Right-Ctrl, Right-Alt, and Right-Meta).
  • In IBM 3270 emulation, maintaining the NumLock state.
  • In VT emulation, ignoring the NumLock state, which enables users to use the PF keys without modifiers.

Digital LK450 Keyboards

If you are using an LK450 keyboard, make sure that you have LK450 Windows support installed.

By default, the LK450's extended function keys, F13 - F20 (including "Help" and "Do") and the PF1 - PF4 keys, are not mapped by Reflection for the Web to the corresponding VT keys. To use these keys, use the Reflection for the Web Keyboard Setup dialog box to map the keys to the required VT functions.

Depending on the combination of operating system, the browser, and the virtual machine, you may be unable to map some of the function keys; for instance, F17, F18, and F19 are especially likely to be unmappable. In these instances, the virtual machine cannot recognize the function keys as being distinct from each other or does not recognize them at all.

Related Technical Notes
9988 Reflection for the Web Technical Notes

Did this technical note answer your question?


Need further help? For technical support, please contact Support.