XT/AT/PS2/Terminal to USB Converter with NKRO

(I tried searching this post but I did not find anything relevant... also hope it helps someone in the same situation as me in the future!)

I'm converting a 1392595 and I successfully remapped all the keys I need.
However, for a cluster of 10 keys, the micro-controller emits 2 HID codes instead of 1.
Here is what happens when I press those keys:

Code: Select all
9 => 9 0 # sometimes 09, same for all other keys.
0 => 0 9
- => F8 - # yes! F8 and minus...

o => o p
p => p o
[ => F7 [

l => l ;
; => ; l
. => EUROPE_1 .


* Those keys are exactly arranged like a numpad so I feel like I'm missing a configuration somewhere...
* The comma key (next to Return) lights up the LED on the Teensy for a few seconds.

I don't see anything abnormal is hid_listen, apart from the fact that two keys are pressed. For example, when pressing 0:

Code: Select all
r46 +26 d26 r45 +27 d27
rF0 r46 -26 u26 rF0 r45 -27 u27


My configuration is simple:

Code: Select all
force set3

remapblock
  F13 ESC
  ESC NUM_LOCK
  NUM_LOCK PAD_SLASH
  SCROLL_LOCK PAD_ASTERIX
  PAD_ASTERIX PAD_MINUS
  PAD_MINUS PAD_PLUS
  PAD_PLUS PAD_ENTER

  F23 PRINTSCREEN
  F24 SCROLL_LOCK
  LANG_4 PAUSE
endblock


This is the ouput of hid_listen when I plug the keyboard:

Code: Select all
Listening:
rAA rBF rBF

remaining: 0018
18@0008 remaps
layerdefs: 00
max_layer: 00
total_macros: 00
alloc ok.
wF8 rFA

Keyboard ID: 0000
Code Set: 3
Mode: AT/PS2

wED rFA w00 rFA


EDIT: Plot twist... my ribbon cables were dirty...! I cleaned them and now I only have one HID code sent for those keys... I was deep into macros when the internals of my keyboard moved a little bit (because of a broken plastic pin holding the membrane) and the problem fixed itself... sigh (and yeah!).
j0d1

Unread post06 Jul 2017, 17:42

X
j0d1
 
Posts: 64
Joined: 27 Apr 2017, 15:39
Location: Montreal
Main keyboard: IBM Model M
Main mouse: Logitech M570
Favorite switch: Buckling Spring
Club member: -
 
coreinsane wrote:I made a Soarer's converter for my terminal model m, I partially manage to remap some of the keys, but I don't know how should I remap the key which don't have a keycap on the picture next to Enter, any suggestions? Which key should it be called? (ISO QWERTZ layout preferred)

17806910_1359434987433429_580975657_n.jpg


17760653_1359462984097296_1337643887_n.jpg

ABS on a model M?!!!
Wingklip
User avatar

Unread post23 Jul 2017, 22:54

User avatar
X
Wingklip
 
Posts: 332
Joined: 02 Mar 2017, 00:05
Location: Sydnegrad, Soviet Republic of Australasia
Main keyboard: IBM 3178 Model F C2
Main mouse: G502 Logitech Proteus core
Favorite switch: Beam/plate spring
 
Wingklip wrote:
coreinsane wrote:I made a Soarer's converter for my terminal model m, I partially manage to remap some of the keys, but I don't know how should I remap the key which don't have a keycap on the picture next to Enter, any suggestions? Which key should it be called? (ISO QWERTZ layout preferred)

17806910_1359434987433429_580975657_n.jpg


17760653_1359462984097296_1337643887_n.jpg

ABS on a model M?!!!

Late UK models used ABS space bars to bring the cost of manufacturing down. PBT spacebars were a great way to waste money as a lot of them had to be discarded.
wobbled
User avatar

Unread post23 Jul 2017, 23:09

User avatar
X
wobbled
 
Posts: 623
Joined: 03 Jul 2016, 02:59
Location: UK
Main keyboard: IBM Model M Industrial SSK & HHKB
Main mouse: Master MX & Apple trackpad 2
Favorite switch: Capacitive Buckling Spring
Club member: 0192
 
wobbled wrote:
Wingklip wrote:
coreinsane wrote:I made a Soarer's converter for my terminal model m, I partially manage to remap some of the keys, but I don't know how should I remap the key which don't have a keycap on the picture next to Enter, any suggestions? Which key should it be called? (ISO QWERTZ layout preferred)

17806910_1359434987433429_580975657_n.jpg


17760653_1359462984097296_1337643887_n.jpg

ABS on a model M?!!!

Late UK models used ABS space bars to bring the cost of manufacturing down. PBT spacebars were a great way to waste money as a lot of them had to be discarded.

Discarded?
Wingklip
User avatar

Unread post24 Jul 2017, 00:15

User avatar
X
Wingklip
 
Posts: 332
Joined: 02 Mar 2017, 00:05
Location: Sydnegrad, Soviet Republic of Australasia
Main keyboard: IBM 3178 Model F C2
Main mouse: G502 Logitech Proteus core
Favorite switch: Beam/plate spring
 
Wingklip wrote:Discarded?

Yes: PBT is very prone to warping on large keys. A spacebar is extremely long; basically a worst-case scenario for PBT extrusion. Therefore, the manufacturing process suffers a high number of defective (warped) spacebars. ABS doesn't suffer from the shrinkage and warping issues PBT does, so making ABS spacebars is much easier and produces more reliable results.

I'm hoping someone can help me with problems I've been having with my ANSI Modded IBM Modem-M Terminal keyboard (manufactured on 9 September 1986 in case anyone is interested.) I'm using Soarer's converter on a genuine Teensy. Key-remapping works flawlessly (I'm typing with it now); however, whenever I try to assign a macro, the first keypress works, but then the entire keyboard becomes disabled. I need to reboot the computer to get it working again. My code is listed below.

Code: Select all
remapblock
   EXTRA_F10 LGUI
   PAD_PLUS PAD_ENTER
   PAD_ASTERIX PAD_PLUS
   SCROLL_LOCK PAD_ASTERIX
   EXTRA_F1 ESC
   F24 MEDIA_VOLUME_UP
   F23 MEDIA_VOLUME_DOWN
   F22 MEDIA_MUTE
   EXTRA_F7 NUM_LOCK
   ESC TAB
   NUM_LOCK PAD_SLASH
   EXTRA_SYSRQ PAD_MINUS
   LANG_4 DOWN
   EXTRA_F9 APP
endblock

macroblock
macro EXTRA_F5
   MAKE RCTRL
   MAKE P
onbreak
   BREAK RCTRL
   BREAK P
endmacro
endblock


I would really appreciate any help as I spent a significant amount of time restoring this keyboard specifically so I could type on these wonderful buckling spring switches and assign macros for the billing software I use at work. I'm not much of a programmer, so I have no idea what I'm doing wrong, but I've tried a number of different approaches and they all yield the same result.

Here's a picture of my keyboard. I used Dupli-Color Vinyl Dye on the top case only. Somewhat hilariously, I very foolishly painted the top and bottom in direct sunlight. The bottom part of the keyboard case became so hot that it warped significantly. Fortunately, Unicomp sold me a brand new bottom shell for the keyboard for $10 shipped. Thanks Unicomp! I left the new bottom shell beige. I kind of like the two-tone look, although when typing, you can't really tell. I was able to preserve all of the original stickers too. I really love this keyboard. It's quite the conversation starter!

File_000.jpg
applehugger

Unread post09 Aug 2017, 02:34

X
applehugger
 
Posts: 2
Joined: 09 Aug 2017, 02:19
Location: USA
Main keyboard: ANSI Modded IBM Model-M Terminal
Main mouse: MX Master
Favorite switch: Orange ALPS
Club member: -
 
I think the onbreak command may be causing trouble. Otherwise, it may be a little strange to break control before breaking P. I think what may be happening, is that it's pushing down control and P, and then the onbreak is either failing to trigger or the ordering of the commands is preventing them from breaking for some reason, so those remain on. Maybe because control is down after EXTRA_F5 is made, it's not picking up the break because it's then ctrl+EXTRA_F5?

Speculation about why it's not working aside, unless there's some particular reason for how you're doing this, I would structure it as in the documentation, using SET_META and PRESS (and also using PUSH_META and POP_ALL_META, for safety), and not using the onbreak part.

Here is the example from the documentation:
Code: Select all
macroblock
  macro EXTRA_F5
    PUSH_META CLEAR_META all    # save and clear all metas
    PRESS p                     # press some keys...
    PRESS i
    PRESS N                     # case is ignored - this results in lowercase 'n'
    SET_META lshift             # you have to set modifiers yourself
    PRESS g                     # results in a capital 'G', since shift is set
    POP_ALL_META                # restore metas that were active before
  endmacro
endblock


So I think you'd want:
Code: Select all
macroblock
  macro EXTRA_F5
    PUSH_META CLEAR_META all    # save and clear all metas
    SET_META RCTRL             # you have to set modifiers yourself
    PRESS p                     # press some keys...
    POP_ALL_META                # restore metas that were active before
  endmacro
endblock
jeb

Unread post09 Aug 2017, 18:00

X
jeb
 
Posts: 13
Joined: 01 Feb 2015, 09:00
Club member: -
 
jeb wrote:I think the onbreak command may be causing trouble. Otherwise, it may be a little strange to break control before breaking P. I think what may be happening, is that it's pushing down control and P, and then the onbreak is either failing to trigger or the ordering of the commands is preventing them from breaking for some reason, so those remain on. Maybe because control is down after EXTRA_F5 is made, it's not picking up the break because it's then ctrl+EXTRA_F5?

Speculation about why it's not working aside, unless there's some particular reason for how you're doing this, I would structure it as in the documentation, using SET_META and PRESS (and also using PUSH_META and POP_ALL_META, for safety), and not using the onbreak part.

Here is the example from the documentation:
Code: Select all
macroblock
  macro EXTRA_F5
    PUSH_META CLEAR_META all    # save and clear all metas
    PRESS p                     # press some keys...
    PRESS i
    PRESS N                     # case is ignored - this results in lowercase 'n'
    SET_META lshift             # you have to set modifiers yourself
    PRESS g                     # results in a capital 'G', since shift is set
    POP_ALL_META                # restore metas that were active before
  endmacro
endblock


So I think you'd want:
Code: Select all
macroblock
  macro EXTRA_F5
    PUSH_META CLEAR_META all    # save and clear all metas
    SET_META RCTRL             # you have to set modifiers yourself
    PRESS p                     # press some keys...
    POP_ALL_META                # restore metas that were active before
  endmacro
endblock

Oh my goodness, that works perfectly. Thank you so much for your help! I'm off to set macros galore. Now I'll never get to bed....
applehugger

Unread post10 Aug 2017, 02:32

X
applehugger
 
Posts: 2
Joined: 09 Aug 2017, 02:19
Location: USA
Main keyboard: ANSI Modded IBM Model-M Terminal
Main mouse: MX Master
Favorite switch: Orange ALPS
Club member: -
 
Hi everyone:

a few days ago i have found a Spanish Layout IBM Model M Keyboard, with a SDL Conector and i want to use the soarer's converter, but i only have a Teensy 3.5 and a Teensy 3.6.

There is a .hex file for this boards? or source files to compile for this boards?

Thanks in advance for your answer
BLeaCH

Unread post13 Aug 2017, 02:11

X
BLeaCH
 
Posts: 2
Joined: 13 Aug 2017, 01:45
Location: Chile
 
No, there is no publicly available source code to this, just the hex files for the Atmel CPUs mentioned in the first post.

You don't necessarily need a Teensy 2.0, there are cheaper alternatives like the Pro Micro or the Arduino Micro that have the same processor. Getting one of those should be your best option I guess.

Teensy 3.5 and 3.6 use an ARM Chip, which is a totally different platform. If you have to use them, Hasu's TMK firmware could be something worth checking out. It has been ported for the newer Teensies, but I'm not sure if the ARM version can be configured to convert PS/2. Some C required to get it to run.
Halvar
User avatar

Unread post13 Aug 2017, 06:36

User avatar
X
Halvar
 
Posts: 3051
Joined: 10 Nov 2012, 10:29
Location: Baden, DE
Main keyboard: IBM Model M SSK / Filco MT 2
Favorite switch: Beam & buckling spring, Monterey, MX Brown
Club member: 0051
 
Hi again:

yesterday i received the teensy 2.0 and i conected to the Model M, everything works!!

now, i have the question: by default there is a way to make the APP (windows) and the "contextual menu" keypress??
or i have to make an aditional config?

thanks in advance for your answer 0_<
BLeaCH

Unread post02 Sep 2017, 19:05

X
BLeaCH
 
Posts: 2
Joined: 13 Aug 2017, 01:45
Location: Chile
 
Since neither Windows nor Menu key exist on the original Model M, you definitely have to generate your own config.
Arakula

Unread post28 Sep 2017, 14:53

X
Arakula
 
Posts: 126
Joined: 19 Sep 2014, 10:56
Location: Austria, Europe
Main keyboard: Unicomp PC/5250
Club member: -
 
Is anyone else having issues when trying to remap Soarer's converter run keyboard using Mac's own modifier keys remapping? I tried assigning Option key to Command, but it's not working - Option key still registers.

Edit: Same is true when using a generic PS/2 -> USB adapter, so I guess it has to do something with PS/2 being on the keyboard end.
alh84001
User avatar
v.001

Unread post09 Oct 2017, 14:42

User avatar
X
alh84001
v.001
 
Posts: 1181
Joined: 14 Feb 2016, 18:38
Location: EU-HR-ZG
Main keyboard: unsaver
Main mouse: logitech m305 / apple trackpad
Favorite switch: BS
Club member: 0150
 
alh84001 wrote:Is anyone else having issues when trying to remap Soarer's converter run keyboard using Mac's own modifier keys remapping? I tried assigning Option key to Command, but it's not working - Option key still registers.

Edit: Same is true when using a generic PS/2 -> USB adapter, so I guess it has to do something with PS/2 being on the keyboard end.

Post your configuration file code! Should still be remappable. Option is the equivalent of ALT on mac and command is actually the "windows" key = GUI, so probably shouldn't be using "Option" or "Command" anywhere on the remapping code.

Should look something like to change both Option/ALTs to Command/GUI

Remapblock
LALT LGUI
RALT RGUI
endblock
orihalcon

Unread post09 Oct 2017, 19:33

X
orihalcon
 
Posts: 324
Joined: 31 Jul 2014, 00:47
Location: Des Moines / Cedar Falls, IA, USA
Main keyboard: IBM Model F107
Club member: 0190
 
Previous

Who is online

Users browsing this forum: No registered users and 33 guests