InfoConnect Workspace Keyboard Mapping For IBM 3270 Keyboard

Hi!

My name is Bob Cochran. I live and work in the USA. I work on IBM z-Series mainframe systems. I am interested in whether a keyboard keymap exists for which meets the following criteria:

Works within InfoConnect WorkSpace version 17.x or newer;
Is suitable for an IBM 3270 type keyboard emulation;
Can send common key codes for PF keys such as PF3/PF7/PF8 (those 3, at a minimum.)

I do not currently own an Ultimate Hacking Keyboard. I’m definitely interested in one, but to be useful to me, the keyboard must be able to emulate 3270-compatible keyboard codes within the InfoConnect Workspace software product. I do not think a keyboard mapping exists that can map this product to and IBM style keyboard.

If i sound like I only have user-level experience with keyboards – that is correct. I’ve used keyboards for decades, mostly IBM or inexpensive 101-key keyboards that can be readily mapped to a 3270 keyboard layout. I don’t know the secrets of keyboard map files or the lives of keyboards. :slight_smile:

Thanks so much for your thoughts!

Bob

1 Like

I have no knowledge of IBM mainframes. But if you are currently using USB keyboards on the system, then UHK will act just like any other USB keyboard. The agent software can be used to configure each key to send the USB scancode you want. The only challenge would be finding out what keys you are using right now and mapping the UHK to send those keys.

If you are using the regular function keys (F1, F2, …) as those “PF” keys, those are available by default in the UHK’s number row by pressing Mod+1, Mod+2, and so on.

What kind of keyboards are you using right now? Do they have any special features or are they bog standard USB keyboards? Do you use any additional software to configure them or are they plug’n’play?

Hi Nicd,

Thank you so much for getting back to me. Your thoughts on this make me realize that I could be worrying needlessly. I really appreciate your help.

I currently use different but quite ordinary USB keyboards for my work, depending on my location. The brands are different. One is a “Microsoft Wired Keyboard 600”. I think another is a Hewlett Packard or Dell branded keyboard. These are all wired as USB-A connections. All have a number keypad at far right., arrow keys/prt sc/home/insert/del/pgup/pgdn to the left of the number keypad, and a QWERTY keyboard (in English characters) at far left. Above the QWERTY keys is a row of function keys, F1 through F12.

I don’t know the data flow for certain, but I believe that when I use InfoConnect Workspace terminal emulation software, it accepts the USB scancodes that my typing produces, and translates them into e.g. EBCDIC character codes. On IBM mainframes, one uses the EBCDIC character coding, and I am guessing (without knowing this for a fact) that in the 1970s, one had to purchase or lease 3270-type terminals and keyboards, and these 3270 keyboards only understood EBCDIC encoding. There was no such thing as Universal Serial Bus in those days. Everything was proprietary and hardwired.

My original post above talks about “3270-compatible keyboard codes”. I made a mistake in saying that. The reference to “3270” is more about a hardware type, end user terminal specification that comprised both a keyboard and a display device, rather than a character encoding. I should have been talking about mapping USB scancodes to the corresponding EBCDIC character codes that an IBM z-Series mainframe understands. Thank you for clarifying that for me.

Based on your explanation – I should be able to use the UHK on a mainframe, although with a very limited set of Program Function (PF) keys. Yes, those do map to Function Keys F1-F12 on a standard USB keyboard. I use F3, F7, and F8 the most; these map to PF3, PF7, and PF8. I can probably buy a UHK key cluster and map those 3 keys to PF3/PF7/PF8.

I think I may need to edit an InfoConnect Workspace keyboard map so that it fits the UHK as best as possible. I will talk to some contractors at my office to see what they think is possible with a custom keyboard mapping.

Thanks again for responding to me. I will give this more thought, and decide what to do.

Thanks again

Bob

For all it’s purpose, the UHK behaves as an USB keyboard. So if your mainframe works with USB keyboards now, it will work with the UHK.

On the UHK you can program which key (or key combinations such as Fn+1 or Mod+X) emulates which key from a normal USB keyboard. So if you use F8 on your current USB keyboard as the PF8 function of your 3270, you can make the UHK send F8 - for example - when you type Fn+8 or Mod+8. I don’t think you need anyone to edit the keyboard map on your “InfoConnect Workspace”, but you rather map the UHK to send the keys that InfoConnect Workspace needs on whichever physical keys you want that function.

You will need to connect the UHK to a PC, Mac or Linux machine to run “Agent”, the configuration software to create those maps. Once you have saved your map to the UHK, you can then unplug it from the PC/Mac/Linux machine and use it anywhere else. The mappings will be stored inside the UHK and will continue to work even without “Agent”.

Hi “maexxx”, thank you so much for letting me know this information. I was wondering exactly what the role of the Agent software is and you explained it quite well for me.

I do have a question based on your discussion. It is a bit hypothetical and it might seem a little strange. Does the keyboard itself – and I mean specifically the current version of the UHK – keep an internal list of all the configuration changes that I made to it via Agent software or even some other software capable of updating the keyboard’s configuration?

Here is an example to better explain my question.

Suppose that on June 1, 2023 I use Agent to change my UHK configuration.
Then on June 3, 2023 I use Agent a second time to do another change to my UHK configuration.
Then on June 6, 2023 I use Agent to make a third change to my UHK configuration.

One June 10, 2023 I have quite forgotten the change that I made on June 3. Can I query the keyboard itself to get list of changes that were made to the keyboard, by date, and the exact changes that were made on a given date?

I realize that I’m going off topic here, so I could post this as a separate question. I’m just curious at this point.

I really appreciate the explanation you gave above. My deepest thanks to you for it.

Have a great day,

Bob

You can’t get a list of changes, but you can go back to a previous configuration. This is not stored in the keyboard itself, but Agent will keep a history of configurations. Each time you save a new configuration to the UHK, the configuration is also saved on the host PC which runs Agent, and added to a growing list of all previous configurations that were saved before. In Agent, you can access this list of all the configurations (ordered by date and time in reverse chronological order), and you can select any of them to load into Agent so you can look at it, or even save it to the keyboard again to make it active as the current configuration.

To find out what was changed between different configurations, you would have to use that history list to go back to different older configurations and manually inspect them in the Agent user interface to see which parts have changed. Or you could export any of these configurations to a text file (JSON format), and then use other software tools to compare those exported configuration files.

1 Like

The best is that the UHK stores its configuration on the keyboard and does not need / use a specific driver for it.
This makes it possible to configure the UHK using a Mac and use it in a complete different environment.
Other “programmable” keyboards ofte rely on their system specific drivers for the configuration, what often means it is windows only etc. I think logitech is a good example for this.

1 Like

Hi @maexxx and @bonito, thank you both so much for sharing your thoughts with me on configuration changes via the Agent software. I really appreciate them. I continue to review the entire thread and think about this. …Enjoy!, Bob