Author Topic: XT/AT/PS2/Terminal to USB Converter with NKRO  (Read 892245 times)

0 Members and 1 Guest are viewing this topic.

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #250 on: Tue, 08 November 2011, 16:08:33 »
Quote from: fohat.digs;446313
I decided that the advice was mostly against dyeing the Model F case, so I went to the automotive store and bought Dupli-Color Dye/Paint and used a half-dozen very light coats.

Came out pretty nice, if I do say so myself, and covered up the "JB Weld" repair job I had to do at the lower left (these cases are not the battleship quality that everything else is). Besides seeming brittle, the surface texture layer comes off leaving a very glossy under substrate.


(Attachment Link) 30964[/ATTACH]

(Attachment Link) 30965[/ATTACH]

(Attachment Link) 30966[/ATTACH]


And yes, I did paint the metal back plate red !

Dyeing the keys will be a future project.

And, whenever I can find a gray cord, it will go on, too.

Thanks, everyone !

That's GORGEOUS!

Very well done.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline RPro

  • Posts: 53
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #251 on: Thu, 10 November 2011, 19:10:46 »
I got the teensy converter programmed and the connector soldered (stole it from an old broken motherboard). Works great with the Dell AT101W! Looks like the Dell only has like 3KRO (or more depending). But way better than the POS monoprice Ez-PU21 converter - ugh, it can't even do Control-C correctly! Which is odd because I think the converter wiki said it should've been ok.

Whatever - if I upgrade to those NKRO gaming keyboards with the PS/2 connector it will be even more awesome! Thanks Soarer!

Offline RPro

  • Posts: 53
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #252 on: Fri, 11 November 2011, 15:01:07 »
Whoops - guess the Dell AT101W is a 2KRO. Oh well.

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #253 on: Fri, 11 November 2011, 15:48:33 »
Ah cool, you got it working ok!

You never know exactly what you're going to get with a cheap converter; they'll change the chips they use if it makes it cheaper!

And yup, it's 2KRO or NKRO, there isn't really anything in between unless it's NKRO that's limited in some way :-)

Offline RC-1140

  • Posts: 86
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #254 on: Fri, 11 November 2011, 16:07:46 »
Hey,
Currently I'm using this adapter for a 1990's 122-Key Terminal Model M, and in general it works great. But when I tried to remap the keys in the same way as my Unicomp Terminal Emulator, I encountered a problem. I wanted to assign different keycodes to the scancodes using the ”setkeycodes“ utility, and used the evtest utility to read the scancodes. This is what it showed to me:

Event: time 1321047872.908643, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70088
Event: time 1321047872.908648, type 1 (EV_KEY), code 93 (KEY_KATAKANAHIRAGANA), value 0

So it says the scancode of LF1 would be ”70088“. Interestingly enough all Scancodes look this way, like an ordinary hexadecimal scancode, prefixed by ”700“. LF2 shows up as ”7008a“ e.g.. When trying to remap it to Escape using ”setkeycodes 7008a 1“ I get: ”failed to set scancode 6210a to keycode 1“. But if I try to remap only the suffix, without the 700 it doesn't give any error message, it just won't change anything.

I'm really confused by this behaviour. Until now evtest has never failed on me...
[SIGPIC][/SIGPIC] Unicomp 122-Key Terminal Emulator - IBM Model M 1394309 - IBM Model M 1394312 (Terminal) - Cherry G84-4100 - Cherry G80-1800 MX Black - Cherry G80-2551HAD (with a spare NIB)

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #255 on: Fri, 11 November 2011, 17:00:16 »
Hmm, I dunno!

Although...

7 is the HID usage page for keyboard keys, and 88 is the HID code for 'International 2' (katakana/hiragana), which is assigned to LF1.

So what's 93? (or 5D?)

Offline RC-1140

  • Posts: 86
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #256 on: Fri, 11 November 2011, 17:17:30 »
well, 93 is the X keycode for the Hiragana_Katakana Symbol. I don't know why, but one always has to add 8 to the keycode the kernel sends to get the keycode X sees. I really don't know, what causes this behavior.
[SIGPIC][/SIGPIC] Unicomp 122-Key Terminal Emulator - IBM Model M 1394309 - IBM Model M 1394312 (Terminal) - Cherry G84-4100 - Cherry G80-1800 MX Black - Cherry G80-2551HAD (with a spare NIB)

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #257 on: Fri, 11 November 2011, 18:12:03 »
Oh, ok. I don't really know anything about remapping USB keyboards in X, but something's surely wrong since it refers to 6210a when you try to set 7008a!!

Where are the beardy types when you need them?!

Offline RC-1140

  • Posts: 86
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #258 on: Fri, 11 November 2011, 19:50:09 »
d'oh!

when in doubt, read manpages…


Quote
USB keyboards have standardized keycodes and setkeycodes doesn't affect them at all.


m(

Well. Looks like I have to do it by editing all my xmodmap files…

At least it wasn't your fault.
[SIGPIC][/SIGPIC] Unicomp 122-Key Terminal Emulator - IBM Model M 1394309 - IBM Model M 1394312 (Terminal) - Cherry G84-4100 - Cherry G80-1800 MX Black - Cherry G80-2551HAD (with a spare NIB)

Offline RPro

  • Posts: 53
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #259 on: Sat, 12 November 2011, 00:07:56 »
Hmm, I seem to be having an issue - it seems when I let the PC idle for a while (it does not go into sleep, only the display goes into power savings), the LED lights up for a couple of seconds on the Teensy board whenever I type. Also, spaces seem to be inserted (like if I had notepad open) out of the blue. Another time, it seems that the down arrow key is permanently pushed down.

I have to unplug the converted from the USB port and plug it back in to get it to work normally again, without the LED lighting up. Any ideas?

I will try plugging it into the backport of the motherboard instead of using the PC case front panel USB ports (Antec 1200 case).

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #260 on: Sat, 12 November 2011, 08:49:05 »
That sounds odd, I'm gonna hope it works ok on a rear port!

Power saving can be an issue because the converter can't reduce its power consumption, and it depends a lot on the hardware/bios/drivers whether that causes any issues. For example, on this machine I had to set the standby mode to S1 instead of S3, but on another machine S3 works fine. That said, the converter is clearly getting into a weird state, which shouldn't be happening.

Which OS are you using? Does it do the same thing if you put the computer to sleep?

Offline RPro

  • Posts: 53
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #261 on: Sat, 12 November 2011, 16:58:59 »
I have an Asus P8Z68-V Pro motherboard. Windows 7 64 bit. It is set to S3. It BSODed last night after putting it to sleep, but I don't know if that was a coincidence (needed a couple of BIOS updates to stop more frequent crashing). This time, I'll plug the converter into a powered USB hub. Before, I was using a 3 meter PS2 extension cable with the converted plugged into the back of the motherboard. Yes, the converter has 1 K pullup resistors on the data and clock to VCC.

*fingers crossed*

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #262 on: Sat, 12 November 2011, 19:18:57 »
I doubt the converter caused a BSOD! Wish I knew what to suggest for that, getting a PC to sleep without problems can be a real pain :-(

For the original problem, disabling USB selective suspend might help:


Offline RPro

  • Posts: 53
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #263 on: Sun, 13 November 2011, 00:52:47 »
Yeah I don't think it was the converter. If I have more issues with the keyboard itself acting funny I'll try out your setting - thanks for that! USB and power management has always been voodoo for every motherboard I've tried! I remember the "good old days" when the manual would actually say, "Use only THIS USB port if you want the USB device to turn on the PC or wake the PC."

Maybe the PS/2 extension cable I used is not properly shielded or has a bad connection that caused the previous problems, which is why I switched to using a USB hub and use a longer run USB cable that has been working fine for a year with 3 other devices on it. :)

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #264 on: Wed, 07 December 2011, 10:50:52 »
Hmm, Can I use something like this to decode a normal ascii keyboard?

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #265 on: Wed, 07 December 2011, 15:26:59 »
Dunno... I'm not sure what you mean...?

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #266 on: Wed, 07 December 2011, 17:08:34 »
General Status Update...

  • EEPROM handling in Converter - done.
  • Utilities to read/write EEPROM - done (for Windows).
  • Settings binary format - done.
  • Settings handling in Converter - done (but not fully tested).
  • Simple compiler to turn Settings text file into Settings binary file - todo.

What are the Settings then?!

  • Remaps
  • Macros
  • Layers
  • Selects

Remaps
Are not whole translation tables! As a silly example, if you wanted to swap the '1' key with the '2' key, you might write:
1=2
2=1
(with some additional bumph around that to define a block).

Macros
Can trigger for any single key with any of the standard modifiers.
Separate macros can be defined on make and break (although, on make only is the most useful and reliable).
Macros are sequences of comands which can currently be: key events, modifier manipulation, and delays.

Layers
Up to 8 keys can be defined to act as a 'Fn' key to access further layers.
Any key can be used in this way - the keys are defined using the remap mechanism, so remapping a key to, say, 'FN1' defines it.
A layer is defined as any combination of those keys - so theoretically up to 256 layers! However, since each layer takes up a fair bit of memory, roughly 3 is the max on a Teensy 2.0, and maybe 25 on a Teensy++.
Each remap block is tagged with the layer it applies to (if not the base layer).

Selects
Up to 7 keys can be defined to toggle configurations of settings.
As with layers, these can be defined as remaps (to SELECT1 etc). But they can also be put in a macro, so that you can define a combination of keys to select a configuration.
All of the blocks for remaps, macros and layers can be tagged with a Select ID (1 to 7). But it is not required. In fact, base settings would usually not be marked as a Select.
Triggering a Select toggles that group of settings, but leaves the others alone.

So, basically... enough Settings to shoot yourselves in the foot with! :-)

Back to the todo - does anyone have experience with Boost::Spirit?
It looks interesting for the compiler part...
« Last Edit: Wed, 07 December 2011, 17:10:40 by Soarer »

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #267 on: Wed, 07 December 2011, 18:50:35 »
mmm, nice features!
and can't wait for trying new your firmware!

If the syntax is simple enough, hand written LL parser must be fun too :)

Offline alaricljs

  • I be WOT'ing all day...
  • ** Moderator Emeritus
  • Posts: 3715
  • Location: NE US
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #268 on: Wed, 07 December 2011, 19:02:06 »
I want.  I am not patient... but I haven't succeeded in getting anywhere with my own firmware.  Being a dad, and a land lord  and having a full time job just doesn't give me the time to learn electronic design and how to program an MC.  *sigh*  So you will still beat me to it ;)
Filco w/ Imsto thick PBT
Ducky 1087XM PCB+Plate, w/ Matias "Quiet Click" spring-swapped w/ XM Greens

Offline fohat.digs

  • * Elevated Elder
  • Posts: 6462
  • Location: 35°55'N, 83°53'W
  • weird funny old guy
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #269 on: Wed, 07 December 2011, 19:36:07 »
Soarer -

Have you come up with a way to remap those 2 pesky numpad keys on the F-122?

"Num Lock" -to- "/"

and

"Pause" -to- "*" ?

If I could get those, I would be delighted !

Thanks ever so much, Harry
State Freedom Caucus News 2024
Missouri state Senator Nick Schroer sponsors a bill that would allow senators to duel one another — in the Senate chambers! – legally.

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #270 on: Wed, 07 December 2011, 21:30:00 »
Quote from: hasu;466149
mmm, nice features!
and can't wait for trying new your firmware!

If the syntax is simple enough, hand written LL parser must be fun too :)


Thanks! I'm looking for the quickest way to get something usable - a better syntax, or even a GUI, would be nice, but can be written later. The first version will probably be some very dirty code!

Quote from: alaricljs;466159
I want.  I am not patient... but I haven't succeeded in getting anywhere with my own firmware.  Being a dad, and a land lord  and having a full time job just doesn't give me the time to learn electronic design and how to program an MC.  *sigh*  So you will still beat me to it ;)

I wish I had some more time available to spend on this as well :(

Quote from: fohat.digs;466187
Have you come up with a way to remap those 2 pesky numpad keys on the F-122?

Yes - all these settings are completely un-pesky!

At least, they will be once I don't have to manually hex-edit the settings file by hand...

If anyone really wants to have a play with doing it that way, I guess I could upload a new version and my notes on the binary format - I wouldn't be able to help much though!

Offline LukStarkiller

  • Posts: 23
  • Location: Spain
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #271 on: Sat, 17 December 2011, 18:06:19 »
I have one question in mind, which is the slower response time (latency) that we can expect to happen between pressing a key and the signal output via USB on the Tensy board

It may be a negligible time, but I would be interested to know what could be the delay caused by the Tensy board and if it exceeds the millisecond (I doubt it, but for asking I don't lose anything ^^)

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #272 on: Sat, 17 December 2011, 19:46:02 »
Hmm, good question! I haven't tested it, but I think the worst case should be just under 2mS, with the average being 1mS.

Since the converter uses Full Speed USB, it has no problems reporting at 1000Hz. Even so, that could mean a delay of up to 1mS before a report is sent.

I also queue events inside the converter, and since that queue is also (asynchronously) processed at 1000Hz that means another up to 1mS delay.

Even the worst case is negligible compared to the delay between pressing a key and the converter receiving it - which could be 10 times that!

Offline LukStarkiller

  • Posts: 23
  • Location: Spain
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #273 on: Sat, 17 December 2011, 21:26:33 »
:eek:
Surprising information
I never thought that the delay caused by the keyboard's controller boards were so ""extreme"", I guess that manufacturers give more importance to the proper functioning and estabilidady that latency.

It may seem silly but for a gamer these milliseconds can mean a lot in terms of playability.

I guess at this point the Aikon controller is better for this (don't know), but the Teensy is almost solderless and easy to understand.
I supose it's posible to do a direct controller with the Teensy board (or Teensy+ if you need more conections) that work with less latency. Well that's another crazy idea XD

If all of us are used to standard keyboards with this latency, then this doesn't needs to be changed, but I have to take a look at the Teensy documentation.
« Last Edit: Sat, 17 December 2011, 21:34:55 by LukStarkiller »

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #274 on: Sun, 18 December 2011, 00:14:21 »
Quote from: dorkvader;465833
Hmm, Can I use something like this to decode a normal ascii keyboard?
I had to do some research, to know what I meant by that (I had to look up and double check everything). The keyboard in question is a WYSE 840013 (that came with a WYSE 30 terminal in 1993) It is one-way (no LED's) and has a 4-pin RJ10-like (4P4C) connector.
http://www.kbdbabel.org/conn/kbd_connector_wyse.png

I wasn't able to find any information either way, but I assume that it's not a normal XT interface keyboard, either. I did find a IBM guide on connecting an "ascii" keyboard to their old computers, but I'm still not really sure what that means.

Since it's just one-way, I assume it shouldn't be too hard to get it working: I mean, it should send a scancode for each individual key press, right?

So, what are my options? I'm sure I'll build one of these either way, as I can certainly use it for PS2 -> USB on at least two of my keyboards, but can I use it for this?
« Last Edit: Sun, 18 December 2011, 00:18:09 by dorkvader »

Offline Mikelittoris

  • Posts: 22
  • Location: Sweden
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #275 on: Mon, 19 December 2011, 13:59:15 »
Okey, so i've got my terminal 122 key model f (6110347), my teensy with a female 5 pol din attached. I've programmed the teensy with the firmware. I've rebooted it and my keyboard is inserted in the female din connector. Nothing happends. Everytime I reboot the teensy it says "press button to activate" I do it and then nothing happends again. When I say nothing happends I mean that the keyboard doesn't work at all. Am I doing it all wrong somehow? The soldering looks ok. If I look straight in to the female din connector and counting clockwise i've got it connected like this: 1-D1, 2-GND, 3-D0, 4-VCC and 5 is not connected. Please help me im clueless about waht to do.
IBM Model M SSK -91 (Bolt moded), Geekhack ESC, RGB modifiers and lt blue WASD cluster.
IBM Model M -95
IBM Model N2 -94
IBM Model F -85 (122-key Terminal) Using a Teensy with Soarer\'s adapter code.

Offline DaemonRaccoon

  • Posts: 333
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #276 on: Mon, 19 December 2011, 14:06:48 »
Quote from: Mikelittoris;473902
Okey, so i've got my terminal 122 key model f (6110347), my teensy with a female 5 pol din attached. I've programmed the teensy with the firmware. I've rebooted it and my keyboard is inserted in the female din connector. Nothing happends. Everytime I reboot the teensy it says "press button to activate" I do it and then nothing happends again. When I say nothing happends I mean that the keyboard doesn't work at all. Am I doing it all wrong somehow? The soldering looks ok. If I look straight in to the female din connector and counting clockwise i've got it connected like this: 1-D1, 2-GND, 3-D0, 4-VCC and 5 is not connected. Please help me im clueless about waht to do.

Assuming counting from the bottom left (facing the connector).
That's AT (and PS/2), you want the 3179 pinout: 1 - VCC, 2 - GND, 3 - NC, 4 - D0, 5 - D1.
122-Key Model F 6110345 1985-03-01 | Model M SSK 1391472 1991-01-22 | Rosewill RK-9000 v1 | KBC Poker X | Filco FKBN87M/PWE2

Offline Mikelittoris

  • Posts: 22
  • Location: Sweden
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #277 on: Mon, 19 December 2011, 14:13:00 »
Oh crapper! Thanks alot DeamonRaccoon yo're the best, I shall get back to the soldering iron right a way. BRB :)
IBM Model M SSK -91 (Bolt moded), Geekhack ESC, RGB modifiers and lt blue WASD cluster.
IBM Model M -95
IBM Model N2 -94
IBM Model F -85 (122-key Terminal) Using a Teensy with Soarer\'s adapter code.

Offline Mikelittoris

  • Posts: 22
  • Location: Sweden
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #278 on: Mon, 19 December 2011, 15:50:28 »
Well I've connected the cables as you said DaemonRaccoon. Still nothing is happening. I'm not even sure how I'm suppose to start of with this. Shall I have the keyboard connected to the adapter at all times or should i first program and reboot the Teensy and then connect the board? I've tried all of this a few times now and I'm starting to worry that i might have fried the teensy somehow, it says it should have a blinking led, I saw it the first time i started the teensy but not anymore. I can still reprogram the teensy and reboot, and then it says "press button to activate" again. I'm not even sure what the teensy is suposed to say when it's on and working.

Sorry for being a complete airhead.
IBM Model M SSK -91 (Bolt moded), Geekhack ESC, RGB modifiers and lt blue WASD cluster.
IBM Model M -95
IBM Model N2 -94
IBM Model F -85 (122-key Terminal) Using a Teensy with Soarer\'s adapter code.

Offline DaemonRaccoon

  • Posts: 333
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #279 on: Mon, 19 December 2011, 16:15:12 »
Start with flashing the Teensy without the keyboard connected, make sure you have the right firmware file there is a difference. The blinking LED is the default program that is flashed to the Teensy.

The "Press Button to Activate" is to drop the Teensy into the boot loader for flashing.

Make sure you're following the official guide for flashing.
122-Key Model F 6110345 1985-03-01 | Model M SSK 1391472 1991-01-22 | Rosewill RK-9000 v1 | KBC Poker X | Filco FKBN87M/PWE2

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #280 on: Mon, 19 December 2011, 16:26:46 »
Don't panic just yet - it's not easy to kill a Teensy with this mod! I think about the only way it might happen is if there's a short of +5V to one of the input pins - which won't happen by getting the wires to the socket mixed up.

Have you got hid_listen yet? That will give you some output that will help to figure out what's wrong. (The blinky LED is gone once you program my code into it, and the LED is used to indicate errors).

edit: The keyboard needs to be connected to the Teensy when the Teensy starts up (either when rebooting after programming, or when plugging the USB side of the Teensy in).
« Last Edit: Mon, 19 December 2011, 16:31:21 by Soarer »

Offline Mikelittoris

  • Posts: 22
  • Location: Sweden
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #281 on: Mon, 19 December 2011, 16:31:23 »
Ok thanks I will have to try that tomorrow, been up for 32h straight now and I thoguth I'd just open the case to se what it looks like IRL before I went to bed, you can't guess what i found, the keyboard cable is detached from the controller inside the keyboard :P haha. Therefenc you bastard ^^. So hopefully it will all work like a charm tomorrow when I connect it.

btw i'm using v0.996 for teensy 2, since I don't got the ++. Should be the right one if i'm not completly lost.
« Last Edit: Mon, 19 December 2011, 16:33:38 by Mikelittoris »
IBM Model M SSK -91 (Bolt moded), Geekhack ESC, RGB modifiers and lt blue WASD cluster.
IBM Model M -95
IBM Model N2 -94
IBM Model F -85 (122-key Terminal) Using a Teensy with Soarer\'s adapter code.

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #282 on: Mon, 19 December 2011, 16:35:35 »
LOL! Yeah, helps if everything is plugged in!
« Last Edit: Mon, 19 December 2011, 16:37:50 by Soarer »

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #283 on: Mon, 19 December 2011, 17:22:10 »
Quote from: dorkvader;473077
I had to do some research, to know what I meant by that (I had to look up and double check everything). The keyboard in question is a WYSE 840013 (that came with a WYSE 30 terminal in 1993) It is one-way (no LED's) and has a 4-pin RJ10-like (4P4C) connector.
http://www.kbdbabel.org/conn/kbd_connector_wyse.png

I wasn't able to find any information either way, but I assume that it's not a normal XT interface keyboard, either. I did find a IBM guide on connecting an "ascii" keyboard to their old computers, but I'm still not really sure what that means.

Since it's just one-way, I assume it shouldn't be too hard to get it working: I mean, it should send a scancode for each individual key press, right?

I've no idea! There is another Wyse that kbdbabel has signalling info for, and it is quite different even though still only using 4 wires - the clock line needs to be driven by the host, and the keyboard only drives the data line in response to that clock. Keyboards like that are a pain to work out, if you only have the keyboard!

Quote from: dorkvader;473077
So, what are my options? I'm sure I'll build one of these either way, as I can certainly use it for PS2 -> USB on at least two of my keyboards, but can I use it for this?

Probably not, unless it happens to use XT or AT protocol. There comes a point where it's often simpler to replace the controller, rather than try to convert the external protocol - at least then you know you're simply dealing with switches! (although, capacitive boards present a extra challenge... not sure what switches this thing has).

Offline Mikelittoris

  • Posts: 22
  • Location: Sweden
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #284 on: Tue, 20 December 2011, 10:11:49 »
There we go, connected the cable to the controller and it works! I've done it, YEY! :D I really like the feel of it, it's like the model m but lighter, i'd imagine that the difference betwen the m and f is somewhat like the difference betwen black and red cherrys, i've never tryed reds so this is only me imagening stuff.

Now i've got to get it clean, it is terribly dirty atm. I'll post some pics later. :)

Thanks for helping me with the pinout/teensy problem DeamonRaccoon, and Soarer you're the MAN! :)
IBM Model M SSK -91 (Bolt moded), Geekhack ESC, RGB modifiers and lt blue WASD cluster.
IBM Model M -95
IBM Model N2 -94
IBM Model F -85 (122-key Terminal) Using a Teensy with Soarer\'s adapter code.

Offline thebum

  • Posts: 2
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #285 on: Fri, 30 December 2011, 21:52:21 »
Wow. Soarer thanks so much for putting your time into this.

Just got my teensy today. Spent about twenty minutes prepping some wires, soldering, and flashing the teensy.

And now here I am, happily typing away on my XT Model F.

Everything seems to be working amazingly well (much better then I even expected it possibly could).

Will continue to use your firmware and if I encounter any problems or think of anything I could do to help, I will be sure to let you know.

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #286 on: Tue, 03 January 2012, 20:43:02 »
You're welcome - thanks for posting :-)  The XT support was actually one of the easier bits, apart from the fiddly moving around of PrtSc etc. So the mappings should be 100% correct - let me know if you find any that aren't, I haven't tested an XT in a while!

And... Welcome to geekhack!

Offline litster

  • Posts: 2890
  • rare caps?! THAT'S A SMILIN
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #287 on: Tue, 03 January 2012, 21:10:40 »
Soarer, is your mapping without recompiling part ready yet?  I am wondering if I could use your code on the Phantom Teensy 2.0 controller.  Thanks.

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #288 on: Tue, 03 January 2012, 21:37:15 »
Afraid not - I haven't had time to do any more since the last status update :-(

The other part you would need is for me to make a 'controller' version. That's planned (because I want it for my own 'board :-) ) but I really want to get the settings compiler done first!

Offline litster

  • Posts: 2890
  • rare caps?! THAT'S A SMILIN
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #289 on: Tue, 03 January 2012, 23:13:12 »
That's cool, Soarer.  We can wait.  Thanks.

Offline thebum

  • Posts: 2
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #290 on: Wed, 04 January 2012, 18:00:20 »
Quote from: Soarer;482787
You're welcome - thanks for posting :-)  The XT support was actually one of the easier bits, apart from the fiddly moving around of PrtSc etc. So the mappings should be 100% correct - let me know if you find any that aren't, I haven't tested an XT in a while!

And... Welcome to geekhack!

Thanks for the welcome.  I've spent quite a bit of time on the board and have encountered zero mapping issues on it, so from my experience  I believe you are correct about the key maps being perfect.

I've also been testing an AT NTC kb-6251 with it, which seems to be working quite well.  With the exception of two keys, but it seems likely that is a problem with the keyboard itself, once determined if not I'll report it to you and see if it is anything which could benefit your code.

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #291 on: Sun, 26 February 2012, 14:41:20 »
New version posted. For the brave!
« Last Edit: Sun, 26 February 2012, 14:43:51 by Soarer »

Offline timofonic

  • Posts: 59
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #292 on: Sun, 26 February 2012, 14:57:18 »
Quote from: Soarer;527014
New version posted. For the brave!


Features list? Please? :)

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #293 on: Sun, 26 February 2012, 15:10:35 »
Quote from: timofonic;527041
Features list? Please? :)
Not brave enough - you're barred! :-p

There is some (scant) documentation in the tools archive.

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #294 on: Sun, 26 February 2012, 19:38:18 »
Ok, so what's new is all the stuff outlined in this post, and media key support.

You can now define a bunch of settings in a text file, compile it, and upload it to the converter. There's a few example config files in the tools zip.

The tools are Windows only, but should be very easy to build for Linux and Mac.

You probably want to get all three zip files anyway - there's a list of HID codes in the src archive which might come in handy.

The HID codes are mostly the same as the standard, but I've used up a lot of the unused codes to add the  functionality I needed while still keeping the code to a single byte. These are the FAKE, FN, SELECT, and MEDIA codes.

The converter now outputs the HID codes that come from the first (fixed) stage of translation to the debug output (hid_listen), preceded by + or -. This should help a bit if you're not sure which code you need to remap for a key.

I've removed previously hard-coded settings. They are now in the legacy.sc config file. If you want the v0.997 converter to act exactly like v0.996:

  • Flash the Teensy with the hex file
  • Open a command line prompt in the tools folder, and type these commands:
  • scas legacy.sc legacy.scb
  • scwr legacy.scb

There's two versions of the hex file for each Teensy. The _temp versions will reset all settings each time they boot up. Hopefully they won't be needed, but if I've screwed up, or writing the config to the Teensy is interrupted, they can be used to clean things up.
« Last Edit: Sun, 26 February 2012, 19:50:01 by Soarer »

Offline REVENGE

  • Posts: 568
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #295 on: Tue, 28 February 2012, 13:49:01 »
HOOOOOOOOOORAAAAAAAAAYYYYY!
◕ ‿ ◕

Offline alaricljs

  • I be WOT'ing all day...
  • ** Moderator Emeritus
  • Posts: 3715
  • Location: NE US
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #296 on: Tue, 28 February 2012, 13:54:24 »
Can you explain a 'SELECT'?  It sounds as tho it can be used to set a layer/keymap via a keypress/combo.  So for instance I have a qwerty and a colemak map I could use Fn-1 to select qwerty and Fn-2 to select Colemak and the map changes "permanently" to that map.
Filco w/ Imsto thick PBT
Ducky 1087XM PCB+Plate, w/ Matias "Quiet Click" spring-swapped w/ XM Greens

Offline litster

  • Posts: 2890
  • rare caps?! THAT'S A SMILIN
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #297 on: Tue, 28 February 2012, 13:57:09 »
This new update sounds very awesome.  We need someone to help port it over to use on Phantom  :-)

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #298 on: Tue, 28 February 2012, 14:34:08 »
Quote from: REVENGE;529599
HOOOOOOOOOORAAAAAAAAAYYYYY!

Pretty much what I thought when I finally found some time to work on it again!!

Quote from: alaricljs;529605
Can you explain a 'SELECT'?  It sounds as tho it can be used to set a layer/keymap via a keypress/combo.  So for instance I have a qwerty and a colemak map I could use Fn-1 to select qwerty and Fn-2 to select Colemak and the map changes "permanently" to that map.

FN and SELECT are two different things here - I'm not sure if you mean FN keys as I understand them...? I use FN for a key that will act something like a shift, to access keys on a different layer, and it's effect is temporary while you hold it down. SELECT is permanent, until you output that SELECT again. There's an example in the tools zip that does pretty much what you want: colemak_select1.sc. It uses lctrl+lshift+lalt+1 to toggle between the two layouts.

Perhaps the easiest way to explain it is to explain how it works - when a SELECT code gets to the output stage of the converter, it toggles the state of that select and then _all_ the settings are reloaded from the eeprom. If you've tagged blocks with ifselect, and the state of that select has changed, you'll get different settings loaded up.

Since SELECT's toggle, you could end up running with more than one select enabled - maybe SELECT1 gets you colemak, SELECT3 gets you some fancy Java programming macros, and SELECT7 gets you media controls on your numpad. (I dunno, it's entirely up to you!).

Offline alaricljs

  • I be WOT'ing all day...
  • ** Moderator Emeritus
  • Posts: 3715
  • Location: NE US
XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #299 on: Tue, 28 February 2012, 14:44:28 »
Quote from: Soarer;529636
It uses lctrl+lshift+lalt+1 to toggle between the two layouts.

Where you use crazy chords, I would use Fn.  I'm also not a fan of toggles, hence using 1 and 2 instead.  So given that a SELECT is what I thought (except toggling seems to be required), is it not possible to assign arbitrary commands to key combinations, such that Fn+1 would execute a select?

To be more clear on the whole Fn thing.  I expect anything typed with standard modifiers to make it to the computer intact, therefor I want to be able to have anything that doesn't make it to the computer to be activated via non-keys, that being Fn, Fn(n), ... So given an arbitrary set of keyboard management functions, Fn+1 through Fn+5 could be 5 different keymaps: qwerty, colemak, dvorak, and so on.  Then Fn-win could be enable/disable the Win key (outside of the Fn layer of course).  Fn-?? combos for media keys, Fn-?? combos for moving/disabling CapsLock...   stuff like that.  

I use crazy chord combos to manage least-common computer settings changes, like ctrl-alt-shift-L is turn on both monitors and set the left to primary.  Following that notion, your ctrl-alt-shift-1 would be turn on all monitors and set #1 to primary ;)
« Last Edit: Tue, 28 February 2012, 14:57:17 by alaricljs »
Filco w/ Imsto thick PBT
Ducky 1087XM PCB+Plate, w/ Matias "Quiet Click" spring-swapped w/ XM Greens