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

User avatar
Muirium
µ

13 Oct 2014, 20:31

Nah, Soarer's converter should give you basic functionality without effort. Have you tried with just the four connections?

Soarer's tools include a diagnostic called scinfo that will tell you what the Teensy's seeing. And there's always hid_listen for live feedback as well.

betsingerb

14 Oct 2014, 16:28

Where are these tools located?

User avatar
Muirium
µ

14 Oct 2014, 16:31

In the zip file in the first post of this thread. (The big one, not the delta.) Various OS versions sit in the /tools folder.

User avatar
Hypersphere

18 Oct 2014, 16:26

Does the Soarer Converter work on the IBM 5085 Graphics Display terminal keyboard (part number 6016730)? This is the one with two D-sub connectors rather than a Din 5 connector.

User avatar
Nuum

21 Oct 2014, 18:56

I just build and configured my own Soarer's Converter and it's awesome, thank you, Soarer!
I'm typing this on my freshly converted and remapped Model F AT.
I had a bit of a problem with a USB hub, because somewhere in the progress the Teensy stopped responding, but plugging it directly into the computers USB ports worked. Also the soldering went great, considering I'm not soldering stuff often.
The programming was a bit finicky, because I didn't quite understand how the scaswr.bat works (you have to drop the .txt-file onto the batch and not into the window the batch opens :oops: and also you have to put the names of the keys and not the HID codes into the Remap file), but in the end everything went fine.

Now my converter needs a case, I already prepared a Kinder surprise egg (the yellow thingy), but now I need some hot glue.

Edit: Here is a quick picture of my updated layout and the converter itself, the case still has some scuffs, that need to be removed. PA1 is Fn, PA2 is the Windows key and Lösch Feld is delete, but that is gonna change, I think. The buttons right of the numpad numbers are the mathematical operators (/*-+). Num Lock is on Fn+5.
DSCN3478.JPG
DSCN3478.JPG (894.08 KiB) Viewed 6462 times

User avatar
idollar
i$

26 Oct 2014, 10:38

Hello Soarer,

What a great job that you have done !

I have been looking for the source code of this great project.
Has it been released ?

Many thanks

Cheers

Note: if you are reading this post and you are still interested :-) please continue reading this separated thread (i$k potential project)...
http://deskthority.net/workshop-f7/i-k- ... t8995.html
Last edited by idollar on 26 Oct 2014, 18:49, edited 2 times in total.

Arakula

26 Oct 2014, 12:09

Soarer's last post on DT was on 2014-03-19, so I guess it's safe to assume that you won't get an answer from him, although I'd be glad if I was mistaken. It would be great to share some thoughts with him, as there are areas where his converter doesn't shine (for example behind USB hubs, or attached to a KVM switch, it's likely to confuse the devices).

You won't find the source code, as he didn't release it - just mentioned that he was "planning to do so" (I don't remember whether it was here or in the 42-page thread on GeekHack). Sooner or later. Maybe. AFAIK, this is still the current state, unfortunately.

User avatar
idollar
i$

26 Oct 2014, 17:13

Hello Arakula (and all others in the forum),

An alternative would be to create a project to implement a new version from scratch.
I need to be careful with what I will say now. I do not have lot of time and it seems to me that to get where his software is, there is a need to put lot of effort.

My personal interest - features - that I would like to have are:
  1. Open source (GPL license ?)
  2. Conversion from XT/AT/PS2 (any other ?) to HID
  3. Maps with the possibility to load configurations. I mean that one should not recompile / re-flash to install new maps
    1. Conversion table (mapping)
    2. Macros definition
    3. Mouse emulation
  4. Serial interface to command the converter (Debug information, Control information, Enable/Disable USB HID)
  5. Multiple hardware platforms (Arduino, Teensy, self-designed PCB)
Nice to have:
  • Integration with a mouse - Soaerer already thought about it but I guess that it was never implemented.
  • Ethernet interface to simulate key-strokes over the network.
  • Multi-host (serve two computers) that could be selected using combinations of keys.
To my best knowledge 2, 3a, 3b and 4 (using a different mechanism) are covered by Soarer's firmware and tools.

I am an telecommunications (electrical) engineer.
I am not an expert on Keyboards and/or mice protocols. I heed to learn HID, I have some experience with Arduino.

Again, I do not promise anything but I would like to know the ideas from others.
I would love Soarer to participate, comment and/or tell me where I am mistaking.

Cheers

i$

Note: if you are reading this post and you are still interested :-) please continue reading this separated thread (i$k potential project)...
http://deskthority.net/workshop-f7/i-k- ... t8995.html
Last edited by idollar on 26 Oct 2014, 18:48, edited 4 times in total.

mtl

26 Oct 2014, 18:10

I'm dabbling with implementing a new firmware based on ChibiOS. My custom keyboard has a lot of components and would benefit from the multithreading support. Like you say getting it off the ground is a large undertaking so it would be great to collaborate with others.

quantalume

26 Oct 2014, 18:32

Between the TMK controller and xwhatsit's controller, there is a large body of open source code already available.

I've been thinking about the possibilities of using the Intel Edison. Imagine having wifi, bluetooth, USB (including host mode) and Linux inside your keyboard.
edison.jpg
edison.jpg (31.67 KiB) Viewed 6403 times

User avatar
idollar
i$

26 Oct 2014, 18:32

Hello again,

I have drawn a potential architecture (draft 0.1).
Black items are, to me, the first to implement. But the interfaces, data structures etc ... should be defined from the beginning. This would allow people to focus on different modules.

I attach the image here, but I guess that it may be better to create a separated entry in the forum.
If people is willing to support this idea, we should create a repository in a collaborative site. I have not experience doing it, but this fact only adds to my interest in this (potential) project.

Attached you can find the VERY draft 0.1 architecture

Cheers

Note: if you are reading this post and you are still interested :-) please continue reading this separated thread (i$k potential project)...
http://deskthority.net/workshop-f7/i-k- ... t8995.html
Attachments
i$k architecture Draft 0.1
i$k architecture Draft 0.1
Architecture 0.1.jpg (80 KiB) Viewed 6411 times

Arakula

26 Oct 2014, 19:40

quantalume wrote: I've been thinking about the possibilities of using the Intel Edison. Imagine having wifi, bluetooth, USB (including host mode) and Linux inside your keyboard.
Wouldn't that take a felt eternity to boot?

quantalume

27 Oct 2014, 04:04

Arakula wrote: Wouldn't that take a felt eternity to boot?
It's pretty fast since it's a stripped-down version of Linux without a GUI. I haven't actually timed it yet though.

User avatar
fohat
Elder Messenger

27 Oct 2014, 13:00

Arakula wrote:
Soarer's last post on DT was on 2014-03-19,
I am not the only one perplexed and troubled by Soarer's disappearance.

Do any of our English friends live nearby or have any sort of direct contact or communication with him?

If he simply grew tired of pettiness and bickering I can understand that, but I would love to know that he is OK.

User avatar
Hypersphere

27 Oct 2014, 13:33

Regarding Soarer, on GH, it says "last active" on August 30, 2014. I didn't check to see if he left a post on that date.

User avatar
ماء

27 Oct 2014, 13:55

I thought he was spy
last visited DT: - it means he is online right?

Arakula

27 Oct 2014, 14:42

Hypersphere wrote: Regarding Soarer, on GH, it says "last active" on August 30, 2014. I didn't check to see if he left a post on that date.
Just checked ... last post on March 16th. Comparable to DT.

[Edit:] on GH, this is even worse, since he's a forum moderator there. Or rather, the forum moderator for the "making stuff together" subforum.
Last edited by Arakula on 06 Nov 2014, 11:26, edited 2 times in total.

User avatar
alinh

05 Nov 2014, 20:39

I want to use my converter that I made for a Terminal Model M 122 for a model F XT. The 122M converter one uses GND,Clock,Data, 5V (GND, PD1,PD0,VCC) (same as XT) and accepts a 8P8C jack. If I take a AT to PS2 adapter cable (AT and XT are physically identical, right?) and cut off the PS2 part and put a 8P8C jack with the righ pin-out it should work..?

Image

User avatar
Halvar

05 Nov 2014, 21:04

I think so, yes.

User avatar
macmakkara

08 Nov 2014, 16:40

Im new to these converters and im littlebit out of track... So i upload soarers hex to teensu or any atmega32u4 board? and then i can just modify layout with soarer tools and don't need to go to bootloader mode?

Arakula

08 Nov 2014, 17:11

Exactly.

Soarer's converter has two parts, essentially:
  • a PC / AT / PS/2 -> USB - converter which converts the incoming key strokes to their USB HID counterpart
  • an elaborate after-processing capability which can be used to change these keystrokes, including layers and macros
The first part uses fixed tables stored in the program itself (i.e., you'd need to modify the hex file to change the assignments); the second part is stored in the EEPROM part of the microcontroller and can be changed on the fly by Soarer's tools.

User avatar
macmakkara

08 Nov 2014, 17:40

But do i have to mod .hex file? if im correct it should have auto-detection?

User avatar
Halvar

08 Nov 2014, 18:03

No, you don't have to mod the .hex file. You can use what Arakula called the second part to do all layout modifications.

To do that, you just edit a config file in you favourite editor and upload it to the Teensy's EEPROM using Soarer's utilities.

Code: Select all

PS/2 scancode -----------------> HID Code ------------------------>  converted HID code ------> USB 
              (fixed conversion)          (configurable conversion)

User avatar
HzFaq

09 Jan 2015, 21:02

Righto, this is my first time playing around with this and I've got everything nearly as I want it, I just can't figure out why my EUROPE_1 key won't accept any bindings...can someone have a look and let me know what I'm doing wrong? Everything else works fine but for some reason the scroll/numlock bindings don't work.

Code: Select all

####456    # Hzza's 5000 layout
# europe_1 key to the left of enter
# europe_2 key to the right of left shift

remapblock
    LCTRL        FN1
    CAPS_LOCK    LCTRL
    EUROPE_2     FN2
endblock

layerblock
    FN1 1
    FN2 2
endblock

remapblock
#arrows, nav, edit and media layer
layer 1
    ESC    CAPS_LOCK
    F8    MEDIA_PLAY_PAUSE
    F9    MEDIA_PREV_TRACK
    F10    MEDIA_NEXT_TRACK
    F11    MEDIA_VOLUME_DOWN
    F12    MEDIA_VOLUME_UP
    BACK_QUOTE    ESC
    1    F1
    2    F2
    3    F3
    4    F4
    5    F5
    6    F6
    7    F7
    8    F8
    9    F9
    0    F10
    MINUS    F11
    EQUAL    F12
    Q    DELETE
    E    UP
    I    UP
    P    DELETE
    S    LEFT
    D    DOWN
    F    RIGHT
    J    LEFT
    K    DOWN
    L    RIGHT
    QUOTE    INSERT
    EUROPE_1    SCROLL_LOCK      
    Z    HOME
    X    PAGE_UP    
    C    PAGE_DOWN
    V    END
    M    HOME
    COMMA    PAGE_UP
    PERIOD    PAGE_DOWN
    SLASH    END
    SPACE    BACKSPACE
endblock

remapblock
#numpad and media
layer 2
    F8    MEDIA_PLAY_PAUSE
    F9    MEDIA_PREV_TRACK
    F10    MEDIA_NEXT_TRACK
    F11    MEDIA_VOLUME_DOWN
    F12    MEDIA_VOLUME_UP
    Q    DELETE
    W    PAD_MINUS
    E    PAD_PLUS
    R    PAD_ASTERIX
    T    PAD_SLASH
    U    PAD_7
    I    PAD_8
    O    PAD_9
    P    PAD_SLASH
    S    DELETE
    D    PAD_ENTER
    F    TAB
    J    PAD_4
    K    PAD_5
    L    PAD_6
    EUROPE_1    NUM_LOCK 
    N    PAD_0
    M    PAD_1
    COMMA    PAD_2
    PERIOD    PAD_3
    SLASH    PAD_PERIOD
    SPACE    BACKSPACE    
endblock

User avatar
Muirium
µ

09 Jan 2015, 21:18

EUROPE_1 is deprecated (it's just backslash). EUROPE_2 is the only extra ISO key.

User avatar
HzFaq

09 Jan 2015, 21:22

Ah, Europe_2 is the key next to left shift so it's not that, I'll try backslash, thanks.

edit - Success, thanks Mu.

User avatar
Muirium
µ

09 Jan 2015, 21:34

I do cunning things like sticking Europe_2 on the function layer on my ANSI boards so I can have my ISO cake and, uh, not need to eat it too!

User avatar
HzFaq

09 Jan 2015, 21:43

It's my numpad toggle, I'd be boned without it and it's one of the reasons I've given up on ANSI more or less. You actually just reminded me that I haven't got the actual Euope_2 key bound which probably shows how much I actually use it as intended...

User avatar
Muirium
µ

09 Jan 2015, 21:47

It's a superfluous key on UK keyboards. We should really have gone with ANSI all along!

User avatar
copter
Last Man Standing

31 Jan 2015, 15:39

Just plugged my M into this converter and all works just as expected, which is fine. Only thing that I would like to do is to map LALT + SPACE combination to press LGUI (Windows) button and I tried to make a macro for it, but from some reason it doesn't get compiled.

Code: Select all

ifselect any

macroblock
macro LALT SPACE
	PUSH_META CLEAR_META all    # save and clear all metas
	PRESS LGUI                  # press win key?
	POP_ALL_META                # restore metas that were active before
endmacro
ndblock		
When I try to "compile" this with SCAS, it gives me:

Code: Select all

scas v1.10
error at line 4: invalid argument
If I for example replace "macro LALT SPACE" with just "macro LALT", then it works as expected, that Windows key is pressed when I press left ALT.

Is there some limitation using SPACE in macros or have I missed something?

Post Reply

Return to “Workshop”