Author Topic: How use M122 F13 thru F24 on PC with Soarer's & iSeries Client Access emulator  (Read 2327 times)

0 Members and 1 Guest are viewing this topic.

Offline michaeljohara

  • Thread Starter
  • Posts: 4
I've been wringing my hands trying to figure out how to make F13 through F24 work while using the IBM iSeries Client Access emulation software.   With the hid viewer I can see this IBM M 122 battlecruiser is transmitting the proper +codes corresponding to F13 thru F24.  But they're not recognized by the emulator while running an AS/400 session.  (Although pressing Shift and the desired F1 thru F12 are recognized by the iSeries program.) 

I tried creating a Soarer's macro but failed. 

Also tried going into the iSeries Preferences\Keyboards and creating a custom keyboard mapping but also stymied - the app only depicts F1 thru F12 on the keyboard map, not the row above. 

Can someone help me with this?  Please?
« Last Edit: Thu, 27 December 2018, 15:35:27 by michaeljohara »

Offline Tactile

  • Posts: 1434
  • Location: Portland, OR
This is a snip from the "Codes" section of Soarer's docs:
Code: [Select]
PAD_EQUALS 0x67 Keypad =
F13 0x68 F13
F14 0x69 F14
F15 0x6A F15
F16 0x6B F16
F17 0x6C F17
F18 0x6D F18
F19 0x6E F19
F20 0x6F F20
F21 0x70 F21
F22 0x71 F22
F23 0x72 F23
F24 0x73 F24
EXECUTE 0x74 Keyboard Execute

So you're saying that if you set up a key to send, for example, 0x6C, it's not recognized by the emulator as F17?
REΛLFORCE

Offline Techno Trousers

  • Posts: 908
  • ʘ_ಠ
Quote
the app only depicts F1 thru F12 on the keyboard map, not the row above
That sounds like a failure of the emulation software itself. Maybe they didn't anticipate anyone using it with a true IBM 122 terminal keyboard?

Offline michaeljohara

  • Thread Starter
  • Posts: 4
"So you're saying that if you set up a key to send, for example, 0x6C, it's not recognized by the emulator as F17?"

Yes, that's right.  But I'm coding Fnn in to Soarers instead of the hex no.

Now I'm really confused.

Offline michaeljohara

  • Thread Starter
  • Posts: 4
"That sounds like a failure of the emulation software itself. Maybe they didn't anticipate anyone using it with a true IBM 122 terminal keyboard?"

Except that there's loads of  posts out there indicating it will work.  But no one explains how you make it happen.

Offline Tactile

  • Posts: 1434
  • Location: Portland, OR
You can use hid_listen to see what code set is in use. Terminal keyboards are code set 3. The Code Set can be forced:

Code: [Select]
force
The force command disables the auto-detection of keyboard type. It is only very rarely needed!

force {set1|set2|set3|set2ext}
Example:

force set2

And Soarer has this to say about terminal keyboards:
Code: [Select]
Keyboard IDs
This section is mostly only relevant to terminal keyboards. The converter uses the ID to decide between using scan code set 3 for terminal keyboards, or extended scan code set 2 for 'regular' keyboards.

By using hid_listen, you can see what ID your keyboard has by looking at the two bytes read back after the get ID command (wF2 rFA).

The ID and scan code set selected are also printed in a more readable way: v0.996+

Keyboard ID: BFBF
Code Set: 3
Terminal keyboards often have DIP switches on the back panel, or alternatively a pin header on the PCB that you can fit jumpers to, which configure the keyboard's ID code.
The ID is a 16-bit number, but commonly fewer than 16 switches/jumpers are fitted meaning it's not possible to select all of the bits.
The default value with no jumpers fitted, or with all the DIP switches in the 'open' position, is BFBF.

If your terminal keyboard is not operating correctly, it might be because the wrong ID is set on the switches/jumpers. The first byte should not be AB.
REΛLFORCE

Offline michaeljohara

  • Thread Starter
  • Posts: 4
This is all very opaque to me.  Let's come at this another way.

I'm using an IBM Model M 122-Key terminal keyboard Part #1389260,  which I understand to be a 3270 type keyboard.  (3179?)

The AS/400 remote access service I use provides me IBM iSeries Access Client for Windows emulation software, which I'm running on a Windows 7 Pro PC.  I have a Soarer's convertor used to connect the DIN plug to USB.

The emulator keyboard mapping window does not show a row for the PF13 thru PF24 keys.  Let's take the actual PF16 key as an example, which is frequently used on AS/400 screens.  Using hid_listen I can see the Soarer's is transmitting the following:

R20 +6B dE1
rF0 r20 -6B

I understand that the PC should see this as a PF16 or F16(?)

The iSeries emulator has no reaction.

I don't want to have to use Shift+PF4 - I want to be able to simply press PF16 directly.

From what I can see, I don't see how I can accomplish this through code in either the Soarer's or the iSeries Access config files.  Surely there is a way to  do this, right?  Do I need a different terminal emulation software?  Am I missing something in Soarer's or iSeries Access?

This just seems like it shouldn't be this hard.

Offline apastuszak

  • Posts: 44
Did you ever figure this out?  I'm having the same problem.