Conn. Teensy
GND -------- GND
Vcc/+5V ---- Vcc
Data ------- PD0
Clock ------ PD1
CapsLock LED ------ PF5
NumLock LED ------- PF6
ScrollLock LED ---- PF7
CapsLock LED ------ PD3
NumLock LED ------- PD4
ScrollLock LED ---- PD5
Keyboard ID: BFBF
Code Set: 3
Optionally, lock LEDs can be wired up.
The outputs are active high (each pin puts out +5V when it wants to light the LED).
A resistor is needed inline with each LED. (The value needed depends on the type of LED, 1Kohm is a good starting point for modern high-brightness types).
Full NKRO, if the keyboard supports it (even on Macs!).
If you guys ever fix the OSX bug tell Nopoo and the Ducky G2 engineers (probably the same PLUM Corp. firmware designer).
Thanks, hasu!
I might need to add in your fix for the SET_IDLE problem on OS-X (http://geekhack.org/showwiki.php?title=Island:14290&p=307392&viewfull=1#post307392). I have made changes to that part of the code, but I have no OS-X machine to test it on. If I am lucky it will work!
I'd be willing to check this out whenever I get my Teensy and sufficient free time.
What are you using for a VID/PID?
Ah right. I'm going to use the standard V-USB HID keyboard VID/PID for my wee project. Seems you can't buy a small block any more -- the resellers have been shut down by the USB-IF -- I bought one a while ago for a project, and don't really want to re-use it.
// Mac OS-X and Linux automatically load the correct drivers. On
// Windows, even though the driver is supplied by Microsoft, an
// INF file is needed to load the driver. These numbers need to
// match the INF file.
#define VENDOR_ID 0x16C0
#define PRODUCT_ID 0x047D
Nice work!
Just wondering what kind of remapping/macro features your firmware supports? Also, when will you release the source? :)
const uint8_t PROGMEM colemak_remaps[] = {
HID_KEY_D, HID_KEY_S,
HID_KEY_E, HID_KEY_F,
HID_KEY_F, HID_KEY_T,
HID_KEY_G, HID_KEY_D,
HID_KEY_I, HID_KEY_U,
HID_KEY_J, HID_KEY_N,
HID_KEY_K, HID_KEY_E,
HID_KEY_L, HID_KEY_I,
HID_KEY_N, HID_KEY_K,
HID_KEY_O, HID_KEY_Y,
HID_KEY_P, HID_KEY_SEMICOLON,
HID_KEY_R, HID_KEY_P,
HID_KEY_S, HID_KEY_R,
HID_KEY_T, HID_KEY_G,
HID_KEY_U, HID_KEY_L,
HID_KEY_Y, HID_KEY_J,
HID_KEY_SEMICOLON, HID_KEY_O,
0, 0
};
Stupid question: what's the default mapping for a 122 look like? I'm thinking I'm going to hook it up and panic when I can't find half the editing keys.
I wonder if you could do an approach of "load the main binary at one address, and the macro pack/mapping pack always exists at another address space" so you only have to rewrite the second space.
It still seems to repeat. :/
Nice diagram!Thanks :)
Yes, that should be fine. (In fact, I don't think plugging both in at the same time would cause any harm, but don't blame me if it does!)Good news!
- Will an old IDE cable will be fine for wiring, or a bigger section is needed?
- In the article, you recommend the use of an 1Kohm pull-up resistor between Clock and +5V and one other between Data and +5V in case of long cable. I'm pretty scared about this (my soldering skills are fresh), for you, which length is becoming "long" and need the add of resistors?
- Last question, since the teensy is very small. May I do my solders at the back of it? (where there's only printed circuits, not components, and then avoid some damage by overheating).
Even at 5 metres it still worked fine without the pull-ups! But it definately tidied the signal up at that point. I would call more than 2 or 3 metres 'long'.Okay good. I'll get some resistors just in case.
Are you putting the sockets in a box? If you are, you might find it easier to wire from the Teensy to the DIN connector, then make the double connections there to also wire to the PS2 socket. DIN connectors usually have large tags, making it fairly easy to solder two wires on.Yes, I was planning on a (lego) box.
Wow, awesome work everyone. You've achieved the "impossible."
Could I buy one of these contraptions from anyone?
I want to do this, but why is the teensy so damn expensive?
There are lots of unused pins, though.
I wonder if they could be used for something useless ...
Very nice diagrams there Neit. Any idea where the lock LEDs would fit into those?
Very nice diagrams there Neit. Any idea where the lock LEDs would fit into those?I'll add them on the diagram as soon as Soarer has chosen the final pins to use (currently PF5, PF6 and PF7) and how to wire them (anode+resistor on pin and cathode on ground?).
Something I thought: Since the converter is plugged through USB, can we hotplug the keyboards? (or is it still risky because of the PS2/DIN)
I'll add them on the diagram as soon as Soarer has chosen the final pins to use (currently PF5, PF6 and PF7) and how to wire them (anode+resistor on pin and cathode on ground?).
If anyone is interested (or for the article), I can do the ++ diagram.
(hope that's what you wanted to hear, my English isn't perfect and I have to admit your question confused me :$)
Is it though? Even used just as a keyboard converter, I don't think it's unreasonable, considering how much it can do. But then, maybe you're one of those who thinks the blue cube is too expensive also, and have wasted money on a small mountain of crappy $3 converters (I don't mean that as aggressively as it may sound, btw, I have quite a collection!).
As an Atmega breakout, the Teensy can't be beaten on quality OR price... it really is the de facto choice for that reason.
I'm just a cheapass who doesn't understand who people are willing to use an arduino to do the same thing that you can do with a $5 microcontroller. Don't take this the wrong way. I'm really very grateful for the contribution. This device will allow me and many other members to finally use all of those awesome terminal and XT keyboards we have sitting around.
I didn't mean to suggest that you are lazy.
To me, the logical endgame of this project is to eventually develop a small-run PCB where you can attach a teensy and your choice of the needed connectors and get a really professional job..
Ok, here's a question that probably hasn't come up before: can USB keyboards be hooked up to this controller to achieve NKRO? I'm thinking of all the Filcos, Leopolds, Decks, etc that achieve NKRO when plugged into a PS/2 port with one of those USB to PS/2 adapters. Clearly the keyboard can handle NKRO, but the traditional USB hookup limits it to 6KRO.
Sounds a teensy bit complicated to me.
Hi Soarer,
I would like to wire your converter with both DIN and PS/2 connectors.
Since I'm pretty noob in electronics, I need some advice here.
Is it OK to wire the teensy and connectors like this ?
(followed your instructions on the article and of course I will use DIN OR PS/2, not both at the same time).Show Image(http://zep.netai.net/xt-at-ps2_converter.jpg)
Hope that I can.
Oh, and thank you for your great work, I may "resurrect" a terminal keyboard that probably use XT protocol.
I don't know how the passive USB to PS/2 adapters are wired up though - either probe one or toss a coin ;-)
Is there any chance we can get the source if we want to compile our own custom mappings? I know the all-singing all-dancing customizable version is under development, but I'd love to lock down a sensible location for a few keys the registry-based remappers ignore?
Soarer, this is an excellent project! My implementation works nicely with a Model F 122 key terminal board. Now, when do you plan on releasing the source code? I am very interested in doing some controller level remapping for media keys and whatnot.
These were all captured with me pressing the "accent grave/tilde" key. The "S" setting seemed to be about the same as the "X". It wouldn't work at all on the "A" setting, even though it works fine with my pc.
Unidentified 83-key XT Keyboard:
http://imageshack.us/photo/my-images/804/photo0017v.jpg/ (http://imageshack.us/photo/my-images/804/photo0017v.jpg/)
Monterey Keyboard with switch on the "X" position:
http://imageshack.us/photo/my-images/534/photo0018jg.jpg/ (http://imageshack.us/photo/my-images/534/photo0018jg.jpg/)
http://imageshack.us/photo/my-images/541/photo0019wj.jpg/ (http://imageshack.us/photo/my-images/541/photo0019wj.jpg/)
Monterey Keyboard with switch on the "S" position:
http://imageshack.us/photo/my-images/194/photo0020e.jpg/ (http://imageshack.us/photo/my-images/194/photo0020e.jpg/)
Soarer, one of the keys on my 122 key terminal Model F does not send any key codes through the adapter when I checked in Aqua's key test. It's the top right key in the numpad cluster. Is this a problem with my keyboard or is that key not mapped to any code in your firmware?
My bad! Looks like I did half a change - I took it out of the global remaps, but forgot to put it back in elsewhere. :-(Thanks! :) Aside from that key not sending a code, the board is currently missing default key mappings for Pause, Numpad /, and Numpad +.
I'll have a look at it later and see if I can remember what I intended to do!
Is there any chance we can get the source if we want to compile our own custom mappings?
I am very interested in doing some controller level remapping for media keys and whatnot.
My bad! Looks like I did half a change - I took it out of the global remaps, but forgot to put it back in elsewhere. :-(
I'll have a look at it later and see if I can remember what I intended to do!
Thanks! :) Aside from that key not sending a code, the board is currently missing default key mappings for Pause, Numpad /, and Numpad +.
Another issue I noticed: the keyboard can wake my computer from standby, but stops working afterwards and requires a re-plug. Not sure if this is a known issue or not.
New version (0.995) posted that maps the top-right key of the numpad to 'Pause'.
Not known to me, at least! Does resume work fine with another USB keyboard?
Re not working after being used to wake up the computer - I need more clues!! It seems to be working ok on Windows (although I did have to change which power mode the computer was using for suspend), on Linux, and also on Macs (apparently), so I guess part of this is working out what's different about your setup? OS, power settings (BIOS and OS), whether it's on a powered hub, pr0n cache size...
It's just the size that counts!
I'll check next time I reboot what I set in my BIOS, I might've changed it from S3 to S2, but I forget! Before I changed it, the port was being powered down by the PC, so wake-up didn't work at all.
I'm all XP at the moment. Sometime soon I'll be setting up a Windows 7 PC, it will probably be 32-bit, but that shouldn't make much difference to this problem. I'll look at it then.
My only problem is that I don't know which pin is what. How can I find out?
This is what I did for my 122-key F; it might help someone else. No guarantees, and I probably don't have time to hold hands.
Oh... so that's what it does... outrageous subterfuge!!Soarer, I understand you're not ready to release your source, but I would be satisfied in the meantime if you could include a proposed layout for the 104 key Terminal Model F. Specifically, Esc and Pause need to be moved the left side function cluster since there's no Numpad area on those boards.
I should warn anyone trying this, that my remaps happen after those tables, so you may not get what you intended!
Oh... so that's what it does... outrageous subterfuge!!
I should warn anyone trying this, that my remaps happen after those tables, so you may not get what you intended!
Is it possible that I could get the source code? I wanted to recompile/edit a little/etc this to work with my AVR Butterfly (ATmega169)...
Soarer, perhaps the GH community could help with building a front end?
How can we help you?
3a=1D # cap lock = left ctrlsome (mostly terminal) keyboards send key combinations like [shift]+[F1] for a single key-press of [F13]; is your code able to catch [shift]+[F1] and spit out something like ...
1d = 3A # left ctrl = caps lock
... etc
2A+3B=e0 30 # F13 = volume up
2a+3c=e0 2e # F14 = volume down
... etc
6b=E0 48+E0 48+E0 4D+E0 4B # F20 = (arrows) up up right left
... etc
# colemak
!remap
!type=global
D=S
E=F
f=t
G=D
# ...
P=SEMICOLON
semicolon = O
# extra keys on a modded AT-F
!remap
!type=set2
FAKE_02 = LEFT_ALT
FAKE_04=RIGHT_ALT
# ...
(Case insensitive and spaces ignored).Go Shawn!
I've been waiting for a "Dummy's Guide" including all the physical parts and lots of pics. Plus I still have some microcontroller USB burner lying around in case anyone ever starts selling PCBs.
box an xampp install with the package.Seems a bit heavyweight for this! I think if JavaScript can't do it, a Python or Java app would be the next choice. (Might be a better choice anyway, for other reasons).
I've pondered doing that with an in-house web-based package-- make it a local site
About macros and remappings... What about showing it as a Mass Storage Device with the files on it? It would save the use of extra software.The storage is so small that there isn't enough room for the allocation tables and directory entries etc that you need for a file system!
Well, I went ahead and ordered a Teensy 2.0, a breadboard and a set of LEDs. I've never done anything like this before, so...And you have a socket, I hope! Just start with wiring the socket to the teensy, then see if it works, then fix or add more bits. We're here if you get stuck :-)
Soarer, this is a very cool project so keep up the good work.
It's an awesome project, and i'm excited about the next phase as its being discussed here.
IF THE-KEY-PRESSED-HAS-A-KEYCAP-WITH-A-ON-IT THEN
SEND-THE-CODE-FOR THE-LETTER-A.
END IF
The storage is so small that there isn't enough room for the allocation tables and directory entries etc that you need for a file system!
OK, sorry. I did think the structure would be able to be generated in-time. There would be just one or two text files, then regenerate the needed firmware part. Maybe this is just a pipe dream, I'm still too bad at computer programming and too much unrealistic imagination...
What about adding a bluetooth module for the future? I know it's not feasible and out of the scope of this project, but it could be nice to have the Ultimate Keyboard Adapter (TM) :D
Of the four layers (http://geekhack.org/showwiki.php?title=Island:17458&p=400916&viewfull=1#post400916) I was thinking of, the driver is actually the easiest part. The device part isn't horribly complex either, and mainly just allows a single file to be written to (and read from) the Teensy's EEPROM.
Gonna need a good battery!!
It's just the size that counts!
I'll check next time I reboot what I set in my BIOS, I might've changed it from S3 to S2, but I forget! Before I changed it, the port was being powered down by the PC, so wake-up didn't work at all.
I'm all XP at the moment. Sometime soon I'll be setting up a Windows 7 PC, it will probably be 32-bit, but that shouldn't make much difference to this problem. I'll look at it then.
The battery comment wasn't a joke!
Those things work great as controllers for contact switch keyboards - they can go to sleep between keypresses and save a lot of power. That trick doesn't work for capacitive switches at all. And for my converter, it's not feasible to cut power to the keyboard and put the Teensy into a low power state - it would at the least require extra circuitry. Even if it could, what would wake it up! So there's a constant power drain to the Teensy and keyboard, which is many times what the bluetooth module uses even when it's awake.
Finally installed Windows 7 SP1 64 bit, so I'll try and reproduce that problem tomorrow.
start-> shut down?
Yep, I had my BlackWidow and the Model F both connected. First off, the Teensy stays on even while the computer is suspended, the lock LEDs stay lit. Secondly, if I resume using the Model F, it will not function once the computer boots up. At this point, without resetting the Teensy, if I put the computer back to sleep and use another USB device to wake it up, the Model F will function normally again. Finally, I can always unplug and replug the Teensy to get the keyboard working again.
FocusOut event, serial 8008, synthetic NO, window 0x3800001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 8008, synthetic NO, window 0x3800001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 8008, synthetic NO, window 0x0,
keys: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Here's what I've been working on for the last little while... (http://kishy.dyndns.org/kbconverters/soarer/)
Complete with externally-accessible reset button and lock LEDs, built-to-order for a fellow Geekhacker.
At this time I am not taking further orders for my assembly service, but it's something I'm considering since I did get Soarer's blessing for it.
(Attachment) 27864[/ATTACH]
Hello.
Very nice! I would consider ordering one too...
What about adding a SD card interface? Would be possible to use it both for configuration files (mapping, macros, etc) and an optional LCD for showing the current keymap (plus two buttons for switching)?
Here's what I've been working on for the last little while... (http://kishy.dyndns.org/kbconverters/soarer/)Thanks for showing your build!
What about adding a SD card interface? Would be possible to use it both for configuration files (mapping, macros, etc) and an optional LCD for showing the current keymap (plus two buttons for switching)?SD card is almost definitely a 'no'. There's no shortage of space (in EEPROM) on a Teensy++ for those things, and even the regular Teensy has a reasonable amount (that would be enough for most people). And also, it would be a lot of work to make the card appear as a drive over USB.
@Soarer Have you considered using something like code.google.com to host the code as it is in development? You can limit it to just you making commits but others could help out and send you patches for fixes. You can even track things you want to change and others may step up to do the actual work.Yes... I think I would use github, when and if I release the source.
In terms of available pinout, memory and such...
How's the Teensy2 or Tenensy2++ used? I mean if you and others can add features to your project in the future, the possibilities of free resources from it.
All in all it looks like it could be done. Whether or not those features can coexist at the same time without resetting the teensy is not one I'm familiar with. Having the teensy present itself as both a HID device for the KB and as a mass storage device for the SD card at the same time is not something I've dealt with.I've no idea... I already have uses for 4 of the endpoints available, plus the control endpoint, so there might be one left! One thing I've spent a fair bit of time on is stopping the USB code from getting in the way of receiving input from the keyboard - looking after more peripherals would surely exacerbate that problem :-)
So what do I do now?
I went back through this thread, thinking that I had seen mention of a program to do it, but couldn't see it.
It should - it certainly works with my Dell AT102W and SGI Granite :)
A couple of things:
First, do you want the Teensy for the Dell AT-101 for gaming? Because my son and I both use the AT-101 and it plugs in almost anywhere and works great (although, I must admit, that since I have been obsessed with buckling springs and my current Model F 122-key terminal conversion projects for a few months ..... ) I am not a gamer so maybe the Teensy does some kind of rollover thing that I don't understand ??
And yes, I did paint the metal back plate red !
Actually, my new Sandy Bridge Asus P8Z68V-Pro motherboard does not have any PS/2 ports. The PS2->USB converter I have does NOT work with the AT101W --- is one of the models I got from monoprice - according to the wiki here on geekhack it should work on most but definitely NOT the Dell - it frequently resets but even worse - I can't use Control-C properly! So hey, I might as well get a Teensy for a little more than the price of a belkin converter. And it'd be a fun little project to try anyways.
I would like to use the Dell for gaming. But it is impossible to crouch and move in Left4Dead with my current converter haha!
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) 30964[/ATTACH]
(Attachment) 30965[/ATTACH]
(Attachment) 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 !
USB keyboards have standardized keycodes and setkeycodes doesn't affect them at all.
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 :)
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 ;)
Have you come up with a way to remap those 2 pesky numpad keys on the F-122?
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.
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.
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?
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!
New version (http://geekhack.org/showwiki.php?title=Island:17458&redirect=no#History) posted. For the brave!
Features list? Please? :)Not brave enough - you're barred! :-p
HOOOOOOOOOORAAAAAAAAAYYYYY!
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.
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?
remapblock
LCTRL FN1 # whatever key you want, obviously!
endblock
layerblock
FN1 1
endblock
remapblock
layer 1
1 SELECT1
2 FAKE_01 # do nothing
endblock
ifselect 1
include colemak.sc
remapblock
layer 1
1 FAKE_01 # do nothing
2 SELECT1
endblock
This new update sounds very awesome. We need someone to help port it over to use on Phantom :-)
I can try it on Mac later today or tomorrow, if you want. I'll be trying Linux, as well, since that's where my Model F is currently connected, and I'd prefer to just do it there.Either would be great! Linux is probably the one I'm more worried about, in case different distros need different runes to get the rawhid stuff working.
Just to check, before I flash, are the "slow" fixes still in the latest version?Yup.
This new update sounds very awesome. We need someone to help port it over to use on Phantom :-)
Currently got about a dozen items on my to-do list, and making this sort of thing possible, somehow, is quite high on the list. I really can't say at the moment how quickly I'll be able get to it though.
Since it uses Atmel's stuff to program it, is it compatible with the Teensy programming utility if you reflash the Bootloader?
I haven't used the simulator at all, just a combination of debug print output, extra LEDs, test signal outputs, and an oscilloscope. If it supports AT90USB162 (Teensy 1.0) or AT90USB1286 (Teensy++), they're close enough for you to be able to familiarise yourself with the tools and the CPU architecture (reading/writing ports and pins etc).ok message received -- it sounds like simulators are pretty hopeless. this will have to wait until i have a teensy in hand.
I'll probably give you libraries that include everything except the except the left hand block in the diagram a couple of posts ago. So you'll feed it key up and key down events, ask it for LED status, call its task function... and that's about it. It's almost a drop-in replacement for the PJRC sample usb_keyboard code. My code uses Timer 0, but that's about it as far as resources goes I think. Amongst other things, I use that to maintain a 32-bit millisecond tick counter, which is probably useful to you.
You'll need to scan the matrix, debounce, and translate matrix codes into HIDX codes.
How much does the case flex in that spot? You might not need a hole, just fill the gap with a chunk of plastic and squeeze it to actuate the button.
ok message received -- it sounds like simulators are pretty hopeless. this will have to wait until i have a teensy in hand.
The other alternative is to figure out how to reboot to the loader from firmware, and then trigger it from a key combo, or by sending it some rawhid on the config interface.
Hmm. This looks quite easy, actually, but which address to jump to depends on the bootloader.
Jumping To The Bootloader (http://www.pjrc.com/teensy/jump_to_bootloader.html) - PJRC
USB DFU Bootloader Datasheet (http://www.atmel.com/Images/doc7618.pdf) (pdf) - Atmel Corporation
It would be nice to determine which bottyloader is present in code, rather than having specific builds. Hmm.
I don't think it's embarrassing, no. This is all on Linux (RHEL 6).
I was able to get 2 of the tools (scas and scdis) to compile, after futzing around with them for a while. I'll PM you with the exact fixes I had to make. I can't get the other two (scwr and scrd) to compile. I'm pretty sure it's due to a missing usb.h file on RHEL. I'm going to keep trying to make them work, though.
To make these completely cross platform, there will need to be some conditional compilation, depending on platform. I've added the necessary code to the two files I was able to make compile, but not in a cross platform fashion. Everything is just hard coded. I'll add the macros to make it work on at least windows and linux, and I'll try and get mac done this weekend, then send everything back to you.
I'll plug my Linux (Mint, Debian) box back in so I can have a look see if it's got a usb.h on it.
Will you ever open source your code? I know I've asked before, but can't recall off hand.
Another question. Could your converter work in this way?
Filco in PS/2 mode -> Soarer's Converter -> PC USB port == NKRO over USB?
[FONT=Courier New]ifset set3
remapblock
EUROPE_1 BACKSLASH # the key to the lower left of Field Exit/Enter
ESC NUM_LOCK # This block remaps the number pad
NUM_LOCK PAD_SLASH # to be identical to a regular model M
SCROLL_LOCK PAD_ASTERIX #
PAD_ASTERIX PAD_PLUS # Field - to + key
PAD_MINUS PAD_PLUS # Blank to + key
FAKE_19 PAD_MINUS # The top right key of the number pad
PAD_PLUS PAD_ENTER
FAKE_08 ESC # This block remaps the function keys
FAKE_09 DELETE # on the left side of the keyboard
FAKE_10 PRINTSCREEN
FAKE_11 SCROLL_LOCK
FAKE_12 PAUSE
FAKE_13 F1 # Help
FAKE_14 UNASSIGNED
FAKE_15 UNASSIGNED
FAKE_16 LGUI # Windows key
FAKE_17 APP # Menu Key
F13 MEDIA_WWW_HOME # Function/Cmd keys 13-24, my preference
F14 MEDIA_WWW_SEARCH
F15 MEDIA_MAIL
F16 MEDIA_MY_COMPUTER
F17 MEDIA_CALCULATOR
F18 MEDIA_PLAY_PAUSE
F19 MEDIA_STOP
F20 MEDIA_PREV_TRACK
F21 MEDIA_NEXT_TRACK
F22 MEDIA_VOLUME_UP
F23 MEDIA_VOLUME_DOWN
F24 MEDIA_MUTE
EUROPE_2 LSHIFT # The < > key to the right of left shift
LANG_4 UNASSIGNED # The key in the middle of the arrow keys
endblock
[/FONT]
..., make a model F controller version, ... :-)if you are serious about this, i'ld like to talk to you about a project i'm working on. some discussion is here:
(OK, the last one is just because _I_ want to!)
Well, I worked up the courage to delve into Soarer's 0.997 firmware.
if you are serious about this, i'ld like to talk to you about a project i'm working on. some discussion is here:
http://geekhack.org/showthread.php?28021-a-modern-Model-F
I'm serious, but it's possibly not quite what you're after - my plan is to replace just the CPU on the Model F (or beam spring) controller board, and drive their square silver capacitive sensing chip from the Teensy.
I'm entirely too lazy to check this at the moment, but isn't the teensy++ and the main micro on model F the same DIP dimensions? That'd make for quite the convenient drop in replacement.
They would align in every one of the four possible orientations of a teensy++? Still, that's awesome work that you're doing :D
Well, there's also that +5V and GND are on diagonally opposite corners of the CPU, vs opposite corners at one end of the Teensies. That means only two orientations are really worth thinking of - either lining up +5V or GND - and both put those other two pins somewhere in the Port 1 set of pins (P10 to P17).
Does T0 have to be used for something?
With a Dell M6300 (BIOS rev A14) and Windows XP x64 SP2, and the converter driving a Model F terminal keyboard, you have to plug in the converter when the machine has already booted. It does not work for hitting F2 to enter BIOS setup, for example. Background thread
http://geekhack.org/showthread.php?29425
This is using the latest stable version of the converter code.
Soarer I see that you are in the same country as me. If you are near London and you want to borrow the laptop to investigate I could lend it for a week or two. In the meantime I will also test it with a blue cube.
Another question. Could your converter work in this way?
Filco in PS/2 mode -> Soarer's Converter -> PC USB port == NKRO over USB?
Yes.
force set3
Hey, that's an odd one! What's a 6011668? I'm guessing it's a 122-key terminal board that we'd expect to use code set 3...
In which case, I wonder why it's reporting its ID as AB83... and if we could change that, without any jumpers to swap around...
Or... there's an undocumented command that you could put in a config file, which would force it to use set 3... I haven't had anything like this to test it on yet though, so I can't guarantee it will work!!Code: [Select]force set3
Er, whoops! It's a 6110668, not 6011668. (Same as, i believe, Sethstorm's).
Force Set3+slightly modded legacy.sc for sane mapping did the trick, though. Additionally, that did change the keyboard ID to 0000, according to hid_listen.
and now that i actually took a look with a flashlight, there are some jumpers on the pins. Whoops! (I donated the dipswitch block to Kishy, and i thought he hadn't put any jumpers on the pins)
Sorry for the derpiness on my part.
i was thinking i would like to help with an .hta GUI wrapper for your code. it would work in Windows only, but once programed the keyboard would work with any OS.
if you are not familiar with .hta - it is like classic .asp, but requires no server. easy to read code, nothing to compile, can use css.
Another question. Could your converter work in this way?
Filco in PS/2 mode -> Soarer's Converter -> PC USB port == NKRO over USB?
Yes.
Sweet! I am going to get a few parts to build this. I have Teensys at home ready to go.
If you have hid_listen open and then plug in the converter with the M attached, is anything printed up?
It is working now!
Soarer, is it possible to detect a disconnect of the PS/2 connection, and reset the Teensy when PS/2 connector is plugged back in? That would stop noobs like me from screwing it up.
Been working on the docs a bit - any comments and/or tips would be welcome!Oh man, this looks great! I'll do a read through, let you know if I have any suggestions.
(Attachment) 48570[/ATTACH]
FWIW, you can do the navbar stuff in CSS, too - no need to do it in JavaScript.The navbar is done in CSS, but effectively it's a client-side include I really wanted... just happened to find a .js solution and moved on to something else... it would be great if there's a neater way :-)
Typo on the firmware page:
"Teensy++ (no longer vailable)"
Looks quite nice, though.
Happy Birthday to my Converter!!!
One year old today!!!
Quote from: SmallFry;539786Will you ever open source your code? I know I've asked before, but can't recall off hand.
I really don't know if or when. Once done it cannot be undone - last time I started thinking about it I got bogged down in trying to decide what license to use (and I still don't really like any of them). All I can honestly say is that it might happen eventually, but it's not at all high up on my to-do list.
Congratulations!Thanks! And welcome to geekhack!
Pre-built linux tools sounds awesome! Excuse me if I'm sobbing; I've just spent the better part of yesterday putting together a patch (http://pastie.org/3815490) to fix compilation on linux (including a Makefile) which is all suddenly hopelessly irrelevant! ;'3Oh man, I'm really sorry :-( There were a few posts about porting a while back (but they might've been lost in one of the rollbacks).
I'm preparing to solder my new Teensy2 onto the controller board of an old Model M keyboard (the 8P5C terminal connector kind), but I'm still at the point where I need to drill holes for bolts. I had to take it apart to clean it out properly and replace some springs. Besides finding a proper config to flash, still remaining is to figure out which controller board surfaces and joints to solder to! D: (any help/pointers/links appreciated)Hmm, I guess you might be able to trim an IDC connector to fit where the cable plugs onto the controller. Maybe from a USB header, if 2x5 pins would cover the ones you need.
Do I understand it correctly then that the tools are open source, but the firmware itself is not?That's right, yes. The tools need to be open IMO because you shouldn't run exes from anonymous people without being able to check them somehow! :-)
Reduced hex size (now fits in 16KB, just)
Congrats and happy birthday for your Converter !Thanks!
I would like to know if it is possible to run the code on an ATmega16U4, which has less ram (only 16kB) ?Yes, it can, with some caveats...
Thanks for the answer, well I will stick with the 32k version as for now, since i am not very experienced and don't know yet what will be my future needs.Unless you already have some 16k chips, then it's definitely worth going for the 32k. It's not hugely complicated to program them another way, but it does mean buying a programmer, or adapting another USB dev board to be a programmer.
Another little question, i saw that there is a "RC" version of the ATmega32U4, but could your code run on a RC clocked MCU ? It would be clocked at only 8mhz instead of the 16mhz of the cystal quartz "powered" teensy v2.0.No, it needs the 16MHz crystal. The RC oscillator isn't good enough for full-speed USB.
BTW: LANG_4 is the center key in the arrow cluster for 122s. :-pGood tip, thanks!
There is an easier way to find that out - HID codes are printed to the hid_listen output as +XX / -XX, and the HID code list in the docs is in numeric order ;-)
Actually, that's the best way because then you know the code that needs to be remapped, rather than seeing the code after any remappings you might already have. (Of course, if you haven't loaded any remaps, it's the same thing!)
With a Dell M6300 (BIOS rev A14) and Windows XP x64 SP2, and the converter driving a Model F terminal keyboard, you have to plug in the converter when the machine has already booted. It does not work for hitting F2 to enter BIOS setup, for example. Background thread
http://geekhack.org/showthread.php?29425
This is using the latest stable version of the converter code.
Yeah, I've had troubles with a Dell Inspiron 630m doing the same thing. Presuming BIOS defect.
Also check if the USB on the other side of the Dell works. I haven't been able to find references to it but I would have swore that one side provided less power, it might be enough to upset the teensy.
I don't know about anybody else's Ubuntu 12.04 problem, but mine was fixed immediately after I booted up using a (Dell) PS2 keyboard and then plugging in the F/Teensy "hot" to the USB port.
I had read about that from other people, but I never had to do it before, it had always worked for me right away.
Brown = Vcc
Red = Ground
White = Data
Black = Clock
:-)
Thank you so much Soarer. I was pulling my hair out and second guessing myself with these wire colors. I would have soldered them all wrong. I`m typing this up right now on my XT. Thanks for the guide, your help, and the awesome coding!
Hi everyone. I'm also trying to convert XT to USB (IBM model F), but when I wire it like mentioned above I don't get any result (doesn't seem to connect at all) and the teensy gets really hot! Any idea's why this is happening? I've tried v0.996 and v1.0.
The VCC, ground and data were correct, only the clock was on pin 3 instead of pin 1. Don't really know if that's a bad thing.
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.
One dumb question: Is it possible to "remapblock" using actual HID Codes (e.g. "0x43") instead of <from_hid> names (e.g. "F9")?It isn't. I thought about it, but never got round to adding it, because it didn't really seem worth it! (After all, most key names are fairly obvious, so it would only help on the few oddball ones that you need to look up in the list otherwise).
And after that - I just purchased a Bluetooth HID module to see if I can get the Teensy/Converter to speak Bluetooth HID as well as USB HID.Hmm, I'm not sure how that fits in, but carry on! :D
Rear defogger repair kit?Yeah. Or from electronics suppliers (example (http://www.rapidonline.com/Tools-Equipment/Conductive-Silver-Leitsilber-L100-3g-87-0781)).
ifset set3
remapblock
# left hand side function keys
EXTRA_F1 MEDIA_MY_COMPUTER
EXTRA_F2 MEDIA_MEDIA_SELECT
EXTRA_F3 MEDIA_MAIL
EXTRA_F4 MEDIA_CALCULATOR
EXTRA_F5 MEDIA_WWW_HOME
EXTRA_F6 MEDIA_WWW_SEARCH
EXTRA_F7 MEDIA_WWW_BACK
EXTRA_F8 MEDIA_WWW_FORWARD
EXTRA_F9 LGUI
EXTRA_F10 APP
# function keys upper row
# block 1
F13 ESC
F14 MEDIA_VOLUME_DOWN
F15 MEDIA_VOLUME_UP
F16 MEDIA_MUTE
# block 2
F17 MEDIA_PLAY_PAUSE
F18 MEDIA_PREV_TRACK
F19 MEDIA_NEXT_TRACK
F20 MEDIA_STOP
# block 3
F21 SYSTEM_SLEEP
F22 SYSTEM_WAKE
F23 PRINTSCREEN
F24 PAUSE
# cursor block
# (central key)
LANG_4 DOWN
# Numpad
# first row left to right
ESC NUM_LOCK
NUM_LOCK SCROLL_LOCK
SCROLL_LOCK PAD_SLASH
EXTRA_SYSRQ PAD_ASTERIX
# right column 2nd to last row
PAD_ASTERIX PAD_MINUS
PAD_MINUS PAD_ENTER
# PAD_PLUS (lower right corner) not remapped
# #-key (European keyboards only)
EUROPE_1 BACKSLASH
endblock
Can anyone with more knowledge provide a link to the connector I need? I can find a 5-pin, female (?) connector, but the angle of the pins doesn't seem right in the photos I'm finding.
Something is escaping me here.
I am back where I was a month ago at post 451 trying to get a Model F-122 terminal to work.
Last winter I had it going, with v0.97 or whatever, this is my spare.
I got a new Teensy and I have downloaded v1.03. The Teensy seems to work fine, and I have used the instructions to program it (eg Open Hex File, Blink-Fast, etc) but the keyboard itself is not recognized. I have been through several iterations including reboots.
At first, I had my other board/Teensy (still running v0.997), and they may have been interfering with each other, so I disconnected it and am typing this from a PS2 keyboard.
How do I find an up-to-date config file, and compile it and run it, I am not a programmer. I remember doing it last year, but I can't seem to find the instructions any more.
I plan to update my first Teensy, too, but I want to make sure that this will work for me. I am running Windows 7 and Ubuntu 12.04
Thank you!
I think that I have done it several ways.I was just checking, since with the Teensy built-in to your other keyboard, the question of which order to connect things doesn't arise :)
My assumption is that the preferable method is to boot using a standard PS2 keyboard, then plug in the USB connector.Once it's all programmed and working, it should work fine during boot as well.
I think that I programmed the Teensy, initially, without anything connected to it. Clearly, I will need to start over and re-program the Teensy.No... I don't mean when programming the Teensy. For that, it doesn't matter if the keyboard is connected or not. Once it is programmed and you want to use it as a converter though, the keyboard has to be connected first, so that the Teensy can query it and decide which mode to use when it powers up. If no keyboard is connected, then the converter decides it is an XT keyboard.
Once it is working, will I have to change anything in order to switch between an F XT and an F-122? Does it matter which is connected when I do the programming?It will auto-detect.
Important note - these diagrams are drawn looking into the front of socket. When you are soldering the pins on the back of the socket, you need to make sure they are correct. Especially for the AT and PS/2 sockets, where mirroring the connections will result in power and ground being swapped - and that is VERY BAD!
It's usually described as a 270 degree 5 pin DIN (or sometimes 240 degree), whereas the more common ones you're probably seeing are 180 degree (which would be right for the XT or AT). Another tip for searching is to look for '5 way' as well as '5 pin'.
A 6 pin DIN is also fine for the socket, and might be easier to find. Would you like a trailing socket (http://www.ebay.com/itm/DIN-female-jack-Cable-Connector-6-Pin-Plastic-Handle-/270792631490?pt=US_Audio_Cables_Adapters&hash=item3f0c7fa4c2) or panel mounted (http://www.ebay.com/itm/DIN-Female-Jack-Cable-Connector-adapter-6-Pin-plug-panel-mount-solder-type-/270837493107?pt=US_Audio_Cables_Adapters&hash=item3f0f2c2d73)? (Those are just the first ones I found on ebay, there are probably nicer looking panel mount ones somewhere...).
It's usually described as a 270 degree 5 pin DIN (or sometimes 240 degree), whereas the more common ones you're probably seeing are 180 degree (which would be right for the XT or AT). Another tip for searching is to look for '5 way' as well as '5 pin'.
A 6 pin DIN is also fine for the socket, and might be easier to find. Would you like a trailing socket (http://www.ebay.com/itm/DIN-female-jack-Cable-Connector-6-Pin-Plastic-Handle-/270792631490?pt=US_Audio_Cables_Adapters&hash=item3f0c7fa4c2) or panel mounted (http://www.ebay.com/itm/DIN-Female-Jack-Cable-Connector-adapter-6-Pin-plug-panel-mount-solder-type-/270837493107?pt=US_Audio_Cables_Adapters&hash=item3f0f2c2d73)? (Those are just the first ones I found on ebay, there are probably nicer looking panel mount ones somewhere...).
Thank you Soarer! I think I'm going to try a panel mount because I'd rather not alter the keyboard itself until I'm more confident in my soldering/electronics skill. Back on page 10 of this thread someone posted a really great adapter build that I'm going to try to duplicate. Someone should offer this converter as a kit somewhere. Thanks for those links -- the 6 pin looks like it will fit.
When I plug in the Teensy, hot, I get a fast blink until I press the button on the Teensy.
PS - not to gloat, but I hit the jackpot a few months ago and got an actual beige IBM female 270 degree DIN cable connector! it was in a big bin of dusty cables in a salvage store. the aluminum is a little tarnished on the knurled ring, but it even screws into the standard 6110347 cable end! there was something that looked like an odd serial connector on the other end.
Cool.
74LS125 is a tri-state buffer chip. Black and grey wires both go there, so they're data and clock. We can't tell which is which though, the circuitry is the same for both.
That chip also gives us confirmation that the yellow is +5v, since that fat trace that runs along the edge of the PCB goes to pin 14.
So I guess it's reasonably safe now to try hooking it up...
yellow ... +5V
brown ... ground
black ... clock?
grey ... data?
If that doesn't work, just swap the black and grey :)
Sounds like what is happening to me.
Could there be a bad batch of Teensys shipping recently?
I also managed to **** up the copper trace ring on the top side of the teensy so I had to solder to the bottom side for PD1. I should learn from the past and get a better Iron, a wick / pump, and good solder. There goes $20.
I also managed to **** up the copper trace ring on the top side of the teensy so I had to solder to the bottom side for PD1. I should learn from the past and get a better Iron, a wick / pump, and good solder. There goes $20.
Oh man, that really sucks... I think the track away from the PD1 pad is on the top side of the teensy :(
It would be possible, but the problem is I don't want to add such a build to the release, because it would need documenting, maintaining, testing, etc, etc!!
It would be possible, but the problem is I don't want to add such a build to the release, because it would need documenting, maintaining, testing, etc, etc!!
I'm guessing it's not as simple as going into the code and changing all PD1 to PD2? (I've never dealth with or looked at hex. I'm a Java / C person.)
While you are solving those problems I'd like to maybe motivate everyone by posting a few pictures of my Terminal Model M 122-key (German layout). As all the old attachments from this forum seem to have been lost, I think we maybe need new ones.
The keycaps were partly taken from a Standard PC 105-key Model M that also came with several transparent keycaps.
Now, about that red wire... I've looked again at the PCB pics, and I can't see any decent sized capacitor hanging off that line. (Normally, reset is handled inside the keyboard with a resistor and capacitor set up to hold reset low while power stabilizes). There's a 47pF, but that's too small, and there's also one of those on each of the clock and data lines, so I think that's just noise prevention. Sooo... I should probably make an output on the Teensy to drive it, to make sure the CPU gets reset properly.
Terminal keyboards usually have a 5 pin, 270 degree, DIN connector...Show Image(http://www.kbdbabel.org/conn/kbd_connector_ibm3179_318x_319x.png)
Is there 1.03 source code (C) available? I found some info similar @ https://github.com/tmk/tmk_keyboard/tree/master/converter/adb_usb (https://github.com/tmk/tmk_keyboard/tree/master/converter/adb_usb), but I am trying to map the keyboard to be more ANSI compliant. thx!
D907 D95F DD67 DDBF E0A7 E0FF E3F7 E44F E737 E78F EA87 EADF EDC3 EE1B F113 F16B
F453 F4AB
Those traces are produced by running a small test program that prints a hex code...
Waiting for device:
Listening:
r1c +04
rF0 r1C -04
r32 +05
rF0 r32 -05
r21 +06
rF0 r21 -06
@Krogenar:
To see the scan set, you'll have to have the hid_listen.exe window open while you plug the converter with attached keyboard into the usb port of your computer. The detected scan set is displayed during the converter's startup phase.
For the names of the 122-key function keys: I posted the commented full config file of my Terminal Model M some weeks ago here:
http://geekhack.org/index.php?topic=17458.msg658161#msg658161
Here's some pictures of my keyboard with corresponding keycaps (German though):
http://geekhack.org/index.php?topic=17458.msg671233#msg671233
Maybe that helps you to get started, IMHO it's a better starting point than using legacy.sc for a 122 key Model M.
I commented out some lines from the legacy.sc, assembled that file into 'test-122.sca' and then imported that file. When the behavior didn't seem quite right (ESC key in odd place) I assembled and write an empty file, and that really didn't work. How would I 'undo' that original 'test-122' file that I read into the converter?
The painting restoration story is hilarious. :D
Some symbol fonts I found and partly used:
http://www.dafont.com/stmedia.font
http://www.dafont.com/heydings-icons.font
http://www.dafont.com/heydings-controls.font
http://blog.guifx.com/2009/04/02/guifx-v2-transport-font/
Since it only samples when the clock line changes state, any changes in the data line have actually happened before they are shown on the graph.
I actually did this project about a month ago after I bought a 122 key model M off of ebay and it went perfectly. I honestly just have no clue how to remap it so I can make use of the extra keys. Could someone point me in the right direction?it is actually quite easy. first, go to the DOCS folder and double-click on index.html. since you only need help re-mapping keys, go to the Config section and read the Command Reference. if you are starting with a 122 then you probably will only need to study/learn remapblock. you will also need to learn (or keep a cheat sheet handy) what the program expects you to name any keys you will be working with. you will find these in the Codes section. then open one or more of the .sc files in notepad and look at these as examples.
# Billy's TSSK layout
remapblock
F7 DELETE
F8 END
F9 PAGE_DOWN
F10 LEFT
F11 DOWN
F12 RIGHT
F13 F7
F14 F8
F15 F9
F16 F10
F17 F11
F18 F12
F19 INSERT
F20 HOME
F21 PAGE_UP
F22 SCROLL_LOCK
F23 UP
F24 PAUSE
FAKE_06 BACKSLASH
FAKE_08 ESC
FAKE_09 PRINTSCREEN
FAKE_10 MEDIA_MEDIA_SELECT
FAKE_11 MEDIA_PLAY_PAUSE
FAKE_12 MEDIA_PREV_TRACK
FAKE_13 MEDIA_NEXT_TRACK
FAKE_14 MEDIA_VOLUME_DOWN
FAKE_15 MEDIA_VOLUME_UP
FAKE_16 APP
FAKE_17 LGUI
endblock
cd \sctools
scas Arbiter343GS.sc Arbiter343GS.scb
scwr Arbiter343GS.scb
@echo off
rem scaswr.bat - a drop target for config files
rem Change directory to the location of the batch script file (%0)...
cd /d "%~dp0"
rem Run scas with a default target filename...
echo Assembling %1...
scas %1 %1.scb
if errorlevel 1 goto end
rem Run scwr with that default filename...
echo:
echo Writing %1.scb...
scwr %1.scb
:end
rem Wait for a keypress so the output can be read...
echo:
pause
ifset set3
above the 122-key stuff, and: ifset set1
above the 83-key stuff, and: ifset any
above stuff you wanted to affect both keyboards.
Good Luck! What was that one dated, April 1984?
The oldest one I have is a 6110344 dated August 1984.
Was the foam mat in decent condition?
New improved version (sorry __red__!) now samples whenever any of PD0 to PD3 change, and at higher time resolution. Plus a hacked together MFC app to parse and draw them nicely without messing about.
IBM PC/XT:Show Image(http://geekhack.org/index.php?action=dlattach;topic=17458.0;attach=7102;image)
Leading Edge:Show Image(http://geekhack.org/index.php?action=dlattach;topic=17458.0;attach=7104;image)
http://learn.adafruit.com/usb-next-keyboard-with-arduino-micro/overview
How cute, they thought they were doing something new.
Thanks!
Yes you can - that was actually the first goal of the converter, to handle the extra codes of secret keys :)
Thanks!
Yes you can - that was actually the first goal of the converter, to handle the extra codes of secret keys :)
Awesome! I shall now go read all 21 pages of this thread and order Soarer parts and a Unicomp Classic 104 to mangle.
(I assume you are with me in not wanting to mangle an actual IBM keyboard!)
Thanks very much indeed,
- Ron | samwisekoi
Use the method wcass described in post 562
That works great. Soarer gave you the complete list in his docs.
Do you really want the left F keys to go up/down rather than left/right?Maybe I should have tried it out before asking about that :P
LGUI & RGUI are the Windows keys.Apparently not me :P
Anybody would have guessed that, wouldn't they?
Well this was an easy project. Zero to typing with my Model-M with surprisingly little work, thanks to Soarer.It looks great. Can you list he material you used ?
(Attachment Link)
Thanks man!
It looks great. Can you list he material you used ?
Halvar posted (http://geekhack.org/index.php?topic=17458.msg658161#msg658161) a 122-key config that might be a good starting point. It's also in the v1.10 zip as configs\Halvar.sc.
After you are spoiled by the Model F, even a Model M is unsatisfying.
I don't understand the appeal of the M-122, though, the only real reason I did the F-122 mod was to get close to the ANSI (Model M) standard layout.
I just don't really like the vertical Enter. But maybe someone will eventually offer up a modded one.I had the same preconceived idea about the vertical Enter. Now I'm typing on this 122-key model f and the vertical Enter doesn't bother me at all.
Is it possible to connect one keyboard to two computers using two Converters? If so, then what's a good way to disable one converter at a time from sending keystrokes: it only needs to maintain the USB connection. My quick thought is to use diodes on the power connection and maybe something on the grounds (just hope they're the same since the computers are connected to the same AC outlet?), but the clock & data connections are potential problems.
I have tried USB KVM switches, but the handshaking takes too long, and usually after about 5 swaps my Windows box would stop recognizing the keyboard. I found a manufacturer of ultra high performance KVM switches for professional audio/visual media uses, but they either didn't list a price or I got the impression that they cost $5000 or so. I don't need to switch monitors, and I don't really need to switch pointing devices (in a pinch, an extra Marble Mouse trackball doesn't take up too much space).
For information's sake:
My previously reported success with the converter 'surviving' from cold boot all the way through to the Windows 7 desktop on my ThinkPad W520 is no longer the case - one or two firmware updates ago (for the W520 - UEFI/BIOS), it started killing the converter during boot.
This seems to be intermittent/inconsistent though as it sometimes works, but seemingly does not work during POST to enter setup. I haven't done any comprehensive testing, and it could well differ from docking station 2.0 ports to built in 2.0 ports to 3.0 ports...
I re-worked all my wiring, and the keyboard LEDs do flash when the USB is plugged in, so I know that power is getting through, but that is all.
The computer chimes and reports that the device is connected or disconnected, and is working properly.
hid_listen also reports the device being connected or disconnected, and "listens" for the device for a minute or so with a string of dots marching across the screen.
But it never "hears" any keystrokes from the keyboard.
I have re-programmed and rebooted the Teensy a couple of times, and also rebooted the computer.
And, hid_listen gives the same response without the keyboard plugged into the Teensy as with it.
Got any more ideas?
Waiting for device:..........................
Listening:
wEE
remaining: 0041
41@0008 remaps !set
layerdefs: 00
max_layer: 00
total_macros: 00
alloc ok.
Keyboard ID: 0000
Code Set: 1
rknize - Thanks for posting configs :) Is it OK if I include them in the next release zip?
Re. LANG_4, I won't add a specific hint, but I will try to make clearer the method for finding out what the codes are... it has been mentioned before (http://geekhack.org/index.php?topic=17458.msg601130;topicseen#msg601130), but since hid_listen output is detailed on the Trouble page, it's not obvious that it has 'regular' uses as well!
I finally got off my butt and got the layouts on this F122 and my AT the way I want. Thanks to the documentation, it was fairly straight-forward. LANG_4 was the only tricky bit on the F122. Perhaps an alias or at least a hint in the doc would be helpful. :) The AT is from wcass, so that one is mainly some tweaks to his.
FWIW, they are attached.
rknize - Thanks for posting configs :) Is it OK if I include them in the next release zip?
Re. LANG_4, I won't add a specific hint, but I will try to make clearer the method for finding out what the codes are... it has been mentioned before (http://geekhack.org/index.php?topic=17458.msg601130;topicseen#msg601130), but since hid_listen output is detailed on the Trouble page, it's not obvious that it has 'regular' uses as well!
That would be great. Even dropping a hint in the comment column of the codes page would help. It's a common enough scenario, I think.
Perhaps some "cook books" for common projects would be helpful as well. It would have saved me multiple look ups in multiple keycode tables on the Internet if I just knew which switch translated to which soarerese HID code for the mapping table. :)
Feel free to include them. I left some comments in the remapblocks.
Initial Translation
For most keys it's fairly obvious which codes are produced after the fixed initial translation. However, for some keys on a 122-key keyboard, and the normally unused extra keys on various keyboards, the codes don't follow an obvious pattern.
To find out which code a key is producing after the fixed initial translation, you can use hid_listen (http://) to examine the Diagnostic Output (http://).
When you press a key, a set of codes is sent by the converter to hid_listen. For example, pressing the centre key in the 122-key's cursor block results in:Code: [Select]r62 +93 d93 rE2 -93 u93
Note the code prefixed by '+', then look it up in the HID code list (http://). For the example, looking up 93 reveals that the identifier to use for remapping or triggering a macro would be LANG_4.
Rknize, how would you describe typing on a F-122 (makes it sound like a fighter jet, LOL) -- awesome?
Here's a draft of the new section, which will go just after the Overview section on the Config page.QuoteInitial Translation
For most keys it's fairly obvious which codes are produced after the fixed initial translation. However, for some keys on a 122-key keyboard, and the normally unused extra keys on various keyboards, the codes don't follow an obvious pattern.
To find out which code a key is producing after the fixed initial translation, you can use hid_listen (http://) to examine the Diagnostic Output (http://).
When you press a key, a set of codes is sent by the converter to hid_listen. For example, pressing the centre key in the 122-key's cursor block results in:Code: [Select]r62 +93 d93 rE2 -93 u93
Note the code prefixed by '+', then look it up in the HID code list (http://). For the example, looking up 93 reveals that the identifier to use for remapping or triggering a macro would be LANG_4.
I posted my M-122 configuration in this earlier post, and it's also in the newest distribution from Soarer in a file named halvar.sc
http://geekhack.org/index.php?topic=17458.msg658161#msg658161
I put a lot of comments in it, also about LANG_4, numpad and the other keys on terminal keyboards, so I'm sorry that you had to find it all out for yourself again. :'(
Halvar
Awesome. What really threw me was that the codes at the HID level for set 3 were actually the translated "PC" values and not the original key codes. I suppose this is just a legacy thing.
Ah yes, I see it now. I guess I didn't look because the file name didn't give any hints about what keyboard it was for. Oh well...it was a learning experience, at any rate. Sorry, I haven't followed this thread as closely as I probably should have.
Heh, no-one is saying you should have known, just (annoyingly) that you could! But in this case, what would you search for? Even I'm having trouble finding the posts where I've covered looking with hid_listen to find codes, and I'm cheating by using words from the answer, not the question!
Yeah, I know what you mean. The docs are a great reference once you know what questions to ask. People learn things differently. I learn the most quickly by working backwards from an example. Unfortunately, I missed Halver's. Most folks are going to have a specific project in mind when using this. I imagine that IBM XT and terminal keyboard owners are probably some of your biggest users. It may be worthwhile to provide walk-throughs for those and provide boilerplate configs for those projects' FAQs?
...
I forgot to mention, the program has a few odd quirks (who doesn't?)
It ignores "Tab", it locks up after "F10", and it respects "CapLock"
If it goes funny during or after "F10", "Alt" or "Spacebar" you should use your mouse to highlight whatever is in the dialog box, then when you press a key it will go back to normal.
These are not bugs, they are "idiosyncrasies" - HAHA
...
I forgot to mention, the program has a few odd quirks (who doesn't?)
It ignores "Tab", it locks up after "F10", and it respects "CapLock"
If it goes funny during or after "F10", "Alt" or "Spacebar" you should use your mouse to highlight whatever is in the dialog box, then when you press a key it will go back to normal.
These are not bugs, they are "idiosyncrasies" - HAHA
ROTFL
i recomend "Aqua Key Test" - much easier to search for. download from OTD or GH links to make sure you get the right one.
http://geekhack.org/index.php?topic=34670.0 (http://geekhack.org/index.php?topic=34670.0)
Also, I think making an index of the example configs will help, since I'll try to highlight the notable features of each rather than just say "Halvar's config for 122-key".
So which do you use, Soarer? ;D
Oh, that's cool :cool:
But something's wrong somewhere because it should have clock -> pd1 and data -> pd0 in both cases :)
There are two sets of feet. The inner ones are a bit tricky to coax out of the outer ones, but it gives a more typical angle.
As to the weight, people keep talking about "6 pounds" I don't know where that comes from. All mine weight 8 and a quarter.
There are two sets of feet. The inner ones are a bit tricky to coax out of the outer ones, but it gives a more typical angle.
Really? Gotta give those a try. Do you guys think my Soarer converter will work with this Model F? The one I made for my Model M 122-key has the exact same connector... is it safe to just plug this guy into it same as the Model M?
rknize is right, it happens during shipping, some hammers move and the spring doesn't sit properly in the key cap.
The key cap has, sometimes, a small nib, which should sit inside the spring; if not, then the spring doesn't bent and doesn't move the hammer, so there is no change in capacitance and no signal sent. The sound is different, with no 'ping'.
rkinize, fohat, I recognize your expertise with the Model F. I leaned the 'board backwards, and inserted the keycap sections, and all is well. It took a few tries, but now it's working! Thanks so much for your help guys, it is greatly appreciated. (tips hat)
That's beautiful.
I wish Unicomp's European resellers had those media keycaps to use it with my M-122.
And that there were any Model Fs to be found here in Europe...
What key do you use for the Fn key?
Successfully modded one of my AT F's to a traditional ANSI layout (using a function block where Fn + 1 is F1, Fn + 2 is F2, etc).
Thanks again Soarer!Show Image(http://i35.tinypic.com/2mhew48.jpg)
Successfully modded one of my AT F's to a traditional ANSI layout (using a function block where Fn + 1 is F1, Fn + 2 is F2, etc).
Thanks again Soarer!Show Image(http://i35.tinypic.com/2mhew48.jpg)
That looks to be in pristine condition! Now just send it to my house, I'll pm you my address shortly. ;]
After looking at other Model F pictures: wow, how much did you have to mod here? :eek:Yup, it sure did look like that (small backspace and all). Like fohat said, it isn't a hard mod....open up the board and move a few springs around, add a couple white barrel inserts from an old Model M, and close her back up. The hardest part is stripping and soldering the AT cable to the Teensy.
Did it look like this one with the big-ass return key, small backspace and all?
http://www.clickykeyboards.com/index.cfm/fa/items.main/parentcat/9934/subcatid/0/id/529210
That's no small feat then ... I feel dumb for even talking about keycaps first...
Akimbo, I'd love to do what you did (more ANSI-like layout) with my Model F-122, but frankly I don't want to risk ruining my 'board. Looks awesome. Do those additional keys feel particularly different from the original keys? I mean the actuation, sound, etc.?
Beautiful! A bit crazy in construction, with a PCB and wire-wrapping!
Not something this converter can convert though. Do you know what switches it uses? If they are simple contact switches, then the easiest way to get it working would be to remove the chips and wire in a new controller. I'm currently working on one aimed at non-programmers, or there's hasu's code (https://github.com/tmk/tmk_keyboard) which is pretty easy to configure and build.
So as controller swaps go, it looks fairly straightforward - remove all the chipsI don't want to break everything xD,but If wiring a teensy would make it operative, I'll make you a statue hahahah.
Today I spotted a breakout titled "Leonardo Nano Pro Mini ATmega32U4 ..."Still a good choice?On ebay for ~13€ with free shipping.
So teensy loader will only work with a teensy board correct?
Analyze the front part of the PCB is nearly impossible, I've made a really awful looking scheme,
Sorry for my totally retarded questions :-[
Rear defogger repair kit?Yeah. Or from electronics suppliers (example (http://www.rapidonline.com/Tools-Equipment/Conductive-Silver-Leitsilber-L100-3g-87-0781)).
I should say I've no idea how well or even if it would work, but in theory it might!
My reservation in this case is that I suspect a new membrane might not cost much more, so that's definitely worth enquiring about.
Get a proper meter dude. It is a worthwhile investment.Yep, I don't learn the lesson, months ago I bought a (welder?) for 3€ in a chinese shop instead of paying 10€ for the local one. The welder exploded, comical scene(and also scary...)
Shame about the buzzer, that does make it easier :(
Some relatively high resistance instead of OL (I'll say OL instead of 1, so it's clear what I mean) is quite possible, and 1811 is high enough. (The resistance is elsewhere in the circuit, not in the switch itself).
Does it go close to 0 if you press the switch?
Yes! It goes closer to 0 when pressed
can you check that you get a low reading between the green circle and the end pin on the socket, and also from the cyan circle to the next pin?Both goes to ~0
The last question is which of the pins on the purple socket are actually connections to rowsIm now getting which pins makes nearly zero, I will post now the scheme, I also took a new photo of the board;
Sure, why not! Maybe get one of each - since that has less keys a Teensy 2.0 might be enough. As long as the switches measure ~0 resistance when pressed, it should be possible.
You should be fine working on it if you touch something which is grounded (like an unpainted radiator pipe) before touching it, to get rid of any static charge you might have. It's usually only an issue when removing chips, and then you can try not to touch the pins.
Removing the chips looks like it would be difficult, so you would have to hope that the new controler can work OK without removing them (but fairly good chance of that).
not a problem along this side, but PD6 is, since it has the LED on the Teensy connected to it already.I didn't get that , I won't put any leds, at least for now, don't want to complicate it even more :confused:
Solderless cables arrived, I will edit now with some photos
If the position are the definitive I'll solder them now
--------
Soldered and plugged;Show Image(http://oi40.tinypic.com/686908.jpg)
My code basically seems to work now, at least on Teensy 2.0. It should work on Teensy++ with a recompile, I'll build it if you wanna try it out!
this post is to for force alaric to post the bom and howto for this awesome soarer he made for meShow Image(http://geekhack.org/index.php?action=dlattach;topic=17458.0;attach=22069;image)Show Image(http://geekhack.org/index.php?action=dlattach;topic=17458.0;attach=22071;image)
QuoteMy code basically seems to work now, at least on Teensy 2.0. It should work on Teensy++ with a recompile, I'll build it if you wanna try it out!
Of course! It will be a pleasure testing it ;D
I'm also making a video-resume of the whole steps, im building your statue :p
Show Image(http://geekhack.org/index.php?action=dlattach;topic=17458.0;attach=22069;image)Show Image(http://geekhack.org/index.php?action=dlattach;topic=17458.0;attach=22071;image)
Right, here's a zip of controller stuff, which should be all you need for the moment. You'll also want to get the latest converter zip, for the docs, since the method of loading a config is the same. Then you'll need to load Soarer_Controller_1.2_at90usb1286.hex onto the Teensy++, and then compile (scas) and load (scwr) the kevex.sc config file.
That will set it up to scan the matrix, but it won't be outputting any keys (it would get messy if it happened to spew out random keys!). It will be printing stuff out that can be viewed using hid_listen - if it's basically working you'll see nothing much until you press a key, and a hex code prefixed by either \ (key down) or / (key up). The hex code corresponds to the matrix position of the key - the strobe number first, and the sense number second.
If that all looks good, you can start editing a new config file, replacing all the UNASSIGNED entries with useful HID codes (such as A or SPACE, see the Codes page of the docs). So you press Q, see what the code is, plug Q into the config at the right place. Rinse and repeat!
Oh, the three lines near the end beginning with 'unstrobed' are left shift, right shift and that reset key... but I'm not sure what order. They will have matrix codes of B0, B1 and B2, in that order.
If that all looks good, you can start editing a new config file, replacing all the UNASSIGNED entries with useful HID codes (such as A or SPACE, see the Codes page of the docs). So you press Q, see what the code is, plug Q into the config at the right place. Rinse and repeat!Thats the reason why I mentioned the rawhid.dll, I don't know which file is :))
Done, now it only show 2 digits :cool: Now Im trying to find the ground pin
matrix
scanrate 1
debounce 5
blocking
sense PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
# Matrix config for kevex ray 7000CM[/spoiler]
matrix
scanrate 1
debounce 5
sense PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
strobe PD7 UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED
strobe PE0 UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED
strobe PE1 UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED
strobe PC0 UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED
strobe PC1 UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED
strobe PC2 UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED
strobe PC3 UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED
strobe PC4 UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED
strobe PC5 UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED
strobe PC6 UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED
strobe PC7 UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED
unstrobed -PD0 UNASSIGNED
unstrobed -PD1 UNASSIGNED
unstrobed -PD2 UNASSIGNED
end
unstrobed -PD0 0x058 Reset?
unstrobed -PD1 0x059 LShift
unstrobed -PD2 0x05A Rshift
unstrobed -PD1 LSHIFT
unstrobed -PD2 RSHIFT
sense PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
strobe PD7 A B C D E F G H
led caps -PC6
led scroll -PC7
matrix
scanrate 1
debounce 5
sense PB0 PB1 PB2 PB3 PD0 PD1 PD2 PD3
strobe PF0 ESC 2 4 5 7 9 MINUS LCTRL
strobe PF1 1 3 UNASSIGNED 6 8 0 BACKSPACE LGUI
strobe PF4 TAB W R T U O LEFT_BRACE LALT
strobe PF5 Q E BACKSPACE Y I P RIGHT_BRACE UNASSIGNED
strobe PF6 CAPS_LOCK S F G J L ENTER RALT
strobe PF7 A D SPACE H K SEMICOLON UNASSIGNED MENU
strobe PB6 LSHIFT Z C V N COMMA FN2 RCTRL
strobe PB7 FN1 X UNASSIGNED B M PERIOD RSHIFT UNASSIGNED
end
We can try those Chinese/Japanese IBM keyboards now.
Soarer, If I press some keys together(general more than 3) some unpressed keys activate, is this normal ?
Now that the matrix is working, you could add a line to the matrix section of the .sc file to activate the blocking function, because the matrix doesn't have diodes. It can go anywhere, but near the beginning is logical...Code: [Select]matrix
scanrate 1
debounce 5
blocking
sense PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
Now compiles w/o problems, but still the same "issue"
Soarer - I've not been watching this closely, but if I gather correctly, this is "hardwiring a keyboard matrix to soarer's code", right?
If that's the case, how many keys do you reckon I could handle on a Teensy 2.0 (not a teensy++)? I'm thinking the ADB circuitry in the M0116 might just go the way of the dodo
Now compiles w/o problems, but still the same "issue"
Found the problem, it was in scas...
Now compiles w/o problems, but still the same "issue"
Found the problem, it was in scas...
Now it detect even less keys :( , muuuuuch slower when I press more than 2, but I think Im making some part of the process wrong, steps I did;
- Open teensy.exe , load hex and reboot
- Drop kex.sc (already mapped config) to new scas.exe
- kex.sc.scb created , load into scwr.exe
- Open keyboard tester
The problem now is the first part, I need to press the reset button and opening again the case its like a nightmare, is there a way to avoid pressing the key?
Dropping kex.sc now result in the 1/10 sec screen and no kex.sc.scb created.
Does the scaswr.bat depends of the actual scas.exe and scwr.exe on the folder?
Also observed, If I remove the blocking 1, while having the same issue Im able to press much more keys.
Another satisfied customer, thanks Soarer :)
Well, LEDs I can live without. There's no LEDs on the board right now, after all :)Soarer - I've not been watching this closely, but if I gather correctly, this is "hardwiring a keyboard matrix to soarer's code", right?
If that's the case, how many keys do you reckon I could handle on a Teensy 2.0 (not a teensy++)? I'm thinking the ADB circuitry in the M0116 might just go the way of the dodo
That's right, this will be 'SoarTroller' or whatever ;D
Number of keys depends on the size of the matrix - especially for a non-NKRO matrix it's quite common to have a few gaps, e.g. so that modifiers don't ghost with anything else. Teensy 2.0 might be enough for the M0116, but perhaps only just - a quick count of lines here (http://deskthority.net/w/images/b/b1/Apple_M0116_circuit_board.jpg) gives maybe 24 (8x16?), which is pushing it and leaves no room for LEDs.
/lib64/udev/keymap -i /dev/input/event2
on a Gentoo machine with 3.9.4 vanilla Linux kernel, hidraw/hid-generic driver and udev-204, i get this message when pressing delete:driver did not send SYN event in between key events; previous event:
scan code: 0x7004C key code: delete
Hmm... looks like an M to me, since it has a white underside. The last couple of digits of the model number are usually what varies depending on the key legends for different countries - try searching for 1390401 instead.
DIP switches, or jumpers on some, are only used to set the keyboard ID, and don't affect the function at all.
Everything I've seen with that connector speaks scan code set 3, and sends a unique code for each key :D
But which other code is it confused with this time? There's no obvious candidate, is there?
/* Drivers usually send the scan code first, then the key code,
* then a SYN. Some drivers (like thinkpad_acpi) send the key
* code first, and some drivers might not send SYN events, so
* keep a robust state machine which can deal with any of those
*/
v1.12 added to the first post, which should make Delete work correctly again on v3.x Linux kernels :D
I've upgraded to v1.12 now, and now the delete repeating works as supposed to, and I haven't noticed any weird side effects. Thanks!Great!
What would happen with your code now if the kernel developers suddenly decides to create even more duplicated event codes of some other key (like adding an extra Enter key code as A0/Out)?I'd have to remove Out from the report as well :( It's a pain because each one of these grows the descriptor by 22 bytes, which might cause its own problem at some point. I'll just have to keep an eye on that table for now, until I can think of a good way to phrase a bug report such that it gets some action (if they see it as just one DIY project that's acting up, it won't get fixed!).
The missing SYN error might have come from the driver, and not from your the data that the converter transfers. The keymap tool is an extra feature in udev for parsing the kernel driver output. A comment about the SYN parsing from the code (http://cgit.freedesktop.org/systemd/systemd/plain/src/udev/keymap/keymap.c):I see, so the SYN error is clearly secondary. It's still a useful flag that things have gone wrong though, since the HID keyboard driver normally sends it. Tracking down the 'if' that stops it being sent might give another clue!Code: [Select]/* Drivers usually send the scan code first, then the key code,
* then a SYN. Some drivers (like thinkpad_acpi) send the key
* code first, and some drivers might not send SYN events, so
* keep a robust state machine which can deal with any of those
*/
v1.12 added to the first post, which should make Delete work correctly again on v3.x Linux kernels :D
I think I am running v1.1 from several months ago, are there important changes recently?
Excellent... heatshrink is a nice touch! :D
One thing: the blue wire you've got going to PB7 should go to ground instead, it's the shield for the cable. (Actually, it needn't be connected at all usually, the other ground is used to to ground the metal parts inside the case).
From fohat's crib sheet...
From fohat's crib sheet...
What! I thought that I had gotten that from you!
Thanks fohat, and no need to apologize, of course. I always tend to venture off and make expensive mistakes – it’s how I learn :))
In this case everything turned out well though. I figured I would try the simplest solution first and added a sheet of paper between the PCB and the rear plate that I painted and everything was working again. I can’t say for sure whether this is a result of the paper or just some other little thing that was fixed by disassembly/reassembly, but in the future I’ll avoid painting the metal behind the PCB. I'm saving the foam mat replacement for another day - I've had enough of disassembling and reassembling Model F's for a while.
Thanks for your help :)
10BASE-T and 100BASE-TX only require two pairs to operate, located on pins 1 plus 2 and pins 3 plus 6.
Does it have 8 wires?Quote10BASE-T and 100BASE-TX only require two pairs to operate, located on pins 1 plus 2 and pins 3 plus 6.
Unfortunately, not the ones we want!
So, if it only has those four, you'd have to open it up and see if you can rewire it - it possibly has a fairly generic breakout PCB insde. If it can't be opened, buying an ethernet extension cable might be the easiest way to get a pigtail.
Any CAT5e extension cable will have all 8 pins wired, so that's the safest bet if buying something.
The RJ45-to-USB thingies, who knows! They might have wired all 8, even if they weren't going to use them.
Gee, thanks, guys, for putting a big gob of white something (incredibly tough) all over the area where I need to work!
Just going to see if I can wipe off this shame. oh, the humanity...
The first is that I don't seem to have NKRO. I'm not sure if I did something wrong, but I try the "hold both shift keys and type quick brown fox" test and I get "THEQUIKROWFOJUPSOERTHELAYDOG".
I'd have to remove Out from the report as well :( It's a pain because each one of these grows the descriptor by 22 bytes, which might cause its own problem at some point. I'll just have to keep an eye on that table for now, until I can think of a good way to phrase a bug report such that it gets some action (if they see it as just one DIY project that's acting up, it won't get fixed!).
I'd have to remove Out from the report as well :( It's a pain because each one of these grows the descriptor by 22 bytes, which might cause its own problem at some point. I'll just have to keep an eye on that table for now, until I can think of a good way to phrase a bug report such that it gets some action (if they see it as just one DIY project that's acting up, it won't get fixed!).
This has, predictably, bitten my USB beam-spring converter, now that I've implemented NKRO.
I'm surprised it took me a few days to notice too, being a Linux guy who uses the backslash/pipe key frequently!
I have solved it in the same manner you have, by putting padding bits into the descriptor where the problematic keycodes would normally be.
I'd suggest reporting it; looking around the internet (I had no idea what was causing it at first! I even stripped down my beamspring to see if there was any dust on the backslash sense pad :P), I see many others with weird backslash issues under Linux, some from keyboards that seem to be gaming keyboards or otherwise a bit `special' and thus probably implement a bitmapped keyboard report for NKRO. If you don't report it I'll have to get motivated to do so but it appears you have a bit more of a handle on the underpinnings within usb-core and usb-input (well that's my excuse anyway :P).
Here's an example: http://forum.corsair.com/v3/showthread.php?t=119654
I'm looking into making a converter, and I am somewhat unsure of what parts I need. I need this for a 122-key Model F. I read through the first 17 pages of this thread, downloaded the documents, and finally got tired of all the reading. Here is what I think I need:
1. breadboard
2. Teensy w/ pins
3. 5-pin socket
4. Mini USB cord to connect to computer
Will I need anything else to make this work? With the breadboard, is necessary for me to solder anything?
I probably will have more questions as I go along, because I am neither a programmer nor electronics fiend. I also need step-by-step instructions and lots of diagrams and pictures to help me learn, along with the deep, reassuring voice of a guru behind my shoulder.
This thread is best read backwards these days, or via the index and search in the docs!
This thread is best read backwards these days, or via the index and search in the docs!
Soarer's documents are really very thorough.
Wcass's programming is post #560 (I have memorized that one).
You know the saying "RFM" you will save some grief if it is part of planning rather than troubleshooting.
RFM? Recency, frequency, monetary value?
Could I upload the binary to a Teensy 3.0?
How very strange! Was it working OK before you took it apart? Or didn't you use it for long enough before to reveal the problem?
The prime suspect from an aging perspective is the power smoothing capacitors - if they aren't effective (particularly the one near the capsense chip) then the capacitive sensing could well become unreliable.
To get keypresses requires a decent clock signal; I don't think a bad connection could cause extra keypresses.
Nope... these two...
There's a solder resist layer, so it shouldn't have directly shorted anything, and lines in parallel have some capacitance between them anyway.
Without a multimeter, may be a bit tricky. Luckily multimeters are cheap. Harbor Freight is in most areas and has them for $5. Quite a few different tool stores should have cheap no frills ones. Amazon also has a number of cheap ones in the $5 range.
Ok, I went through and double checked things. One wire I did have off. I before thought it was reset, but apparently there isnt' a wire to the reset, and instead is ground. I have both the bare wire ground ground and the pin ground now connected to the teensy's ground. The other ones seem to be correct though. Female plug facing me. from left to right, I have clock, ground, data, VCC, and what should be 3 but is no wire. That should match up with what the diagram shows.
Without soldering, it won't be permanent. Pick up a cheap iron go to town. Making stuff is fun, and a skillset so many people are missing any more.
Good. Yes, if you've found the pinout of the connector on the controller, you can rely on that.
The key thing to the connections staying put is to stop the cable pulling on it - solve that and you're most of the way there. Then wrap the Teensy in something (foam?) or stick it down, and it should be fine for a good time. It's also improtant that the Teensy pins don't short to ground (e.g. the case!), especially pin PD6 since that's +5V when the LED is lit (also, since that's on the end, it's more likely to touch).
What is the purpose of wrapping the Teensy in foam?
Ground to ground = 1.1kOhm
VCC to VCC = 1.1kOhm
Data to Data = 1.2kOhm
Clock to clock = 1.1kOhm
with AT keyboard attached, 2.28V on clock line. XT it is 2.84V.
AT has LEDs, and they do not flash. Not even a flicker.
On data line, reading .69V when keyboard is plugged in.
If hid_listen just says "Waiting for device:......" (is that what you mean by nothing?) and keeps printing dots it means that either the converter .hex file hasn't been loaded, or that the device is in bootloader mode. (Pressing the reset button on the Teensy (are you using a Teensy?) takes it into bootloader mode; it doesn't run the loaded .hex).
OK, I just tried the process out from scratch...
1. Right click hid_listen.mac (http://www.pjrc.com/teensy/hid_listen.mac) and save to Downloads.
2. Open Terminal and enter the following commands:
3. mv Downloads/hid_listen.mac .
4. chmod 755 hid_listen.mac
5. ./hid_listen.mac
Note the '.' on the end of the command in step 3, with a space before it.
(If I didn't save to Downloads I got a file named hid_listen.pnt instead of hid_listen.mac (I used Safari), so the PJRC instructions might need updating).
The mod is fully reversible; it just plugs in. With this you'd be able to use the Fn key for something, which you couldn't with a USB-to-USB step.
The XT spacebar mods in much the same way as the AT mod (http://geekhack.org/index.php?topic=48288.0).
Yeah, that's the one I was thinking of. For some reason I thought it was about the AT. Anyway, they both have the same kind of spring in them.
Looks much harder than I would have liked lol.
It does match, but perhaps the colours aren't what you expected! Silly IBM. The metal one is PE, which is the shielding ground.Yes, but when you look at both my connector and your picture the same angle, in my picture, there are two blanks on the right and one blank on the left, while on your picture its the other way around
It does match, but perhaps the colours aren't what you expected! Silly IBM. The metal one is PE, which is the shielding ground.Yes, but when you look at both my connector and your picture the same angle, in my picture, there are two blanks on the right and one blank on the left, while on your picture its the other way around
is that a joke or is it really how that should be?It does match, but perhaps the colours aren't what you expected! Silly IBM. The metal one is PE, which is the shielding ground.Yes, but when you look at both my connector and your picture the same angle, in my picture, there are two blanks on the right and one blank on the left, while on your picture its the other way around
(Attachment Link)
Problem solved! :cool:
how do I load the program onto the arduino itself?
I used arduinobuilder.
@fohat.digs: urbancamo described how to do it on DT lately:
I haven't tried it yet (my Pro Micro clone is still in the mail).
Which key is num lock?
I don't know how to solder, so I thought I'd do it on a breadboard. Is it possible to get any kind of DIN 5 pin connector to plug into a breadboard, or at least connect it without soldering? Where should I look? (Shipping to Canada, or physical Canadian stores to go to)
I will put them inside a small aluminum box with the teensy and create a neat little universal adapter.
Get something like this if you want to preserve your original cable:
http://www.ebay.com/itm/5-PIN-DIN-SOCKET-270-DEGREES-FEMALE-INLINE-PACK-Of-5-/120543224004?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item1c10efa0c4 (http://www.ebay.com/itm/5-PIN-DIN-SOCKET-270-DEGREES-FEMALE-INLINE-PACK-Of-5-/120543224004?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item1c10efa0c4)
You might not need resistors at all, unless your cable is very long; most standard cables should be fine without them.
They should be somewhere near the Teensy end. Exactly where depends on how you're building your converter. If you're using stripboard to mount the Teensy onto, then on there is ideal. If you're using a panel mounted DIN socket, then attaching them onto its pins is probably easiest. Otherwise, you could fit them into the Teensy's holes, and then solder the wires from data and clock onto the legs of the resistors. Taking care to avoid shorting anything out, of course. Lot's of choices!
At 3 metres you should be fine without pullups.
They could be fitted across pins of the DIN, kinda like this (except they don't fit as neatly as drawn):
(Attachment Link)
Pretty much (assuming you've decided to cut the plug off the IBM cable).
You don't have to use the pins, but they do give a good solid place to solder to if you're a bit clumsy with the iron! :))
unlikely I'll ever find a terminal board
It sounds like the 7G isn't sending the normal scan code sequences for those keys. My guess is that it's using something other than E0 to indicate an extended set 2 code, since dropping the E0 turns right alt into left alt, and left gui into keypad comma (which is only recognised on certain layouts, like Brazilian).
Can you try running running hid_listen (http://www.pjrc.com/teensy/hid_listen.html) to see what codes are actually coming from the keyboard?
Hmm, that looks normal. Maybe it's not being detected as an extended set 2 keyboard... what does hid_listen say when you first connect the USB end of the converter? Should tell us the keyboard ID and which set etc.
force set2ext
Will these keys be totally not working or will there be a way to make em work with the converter?
Will these keys be totally not working or will there be a way to make em work with the converter?
Lucky you. Welcome to the aircraft carrier club.
All my keys worked straight away with Soarer's Converter and a Teensy, after it was set up with the hex file.
Use the wcass method (reply # 560) to program the weird keys for whatever you want.
PS - if you are talking about the "secret keys" that is something different
Hey all, I just ordered an IBM model F with the 122 style layout. The info I found on it (from deskauthority) is that it has some inactive keys. Will these keys be totally not working or will there be a way to make em work with the converter?
Thx for the answer!
Hey all, I just ordered an IBM model F with the 122 style layout. The info I found on it (from deskauthority) is that it has some inactive keys. Will these keys be totally not working or will there be a way to make em work with the converter?
Thx for the answer!
The $55 one?
Hey all, I just ordered an IBM model F with the 122 style layout. The info I found on it (from deskauthority) is that it has some inactive keys. Will these keys be totally not working or will there be a way to make em work with the converter?
Thx for the answer!
The $55 one?
Yea
Will these keys be totally not working or will there be a way to make em work with the converter?
Lucky you. Welcome to the aircraft carrier club.
All my keys worked straight away with Soarer's Converter and a Teensy, after it was set up with the hex file.
Use the wcass method (reply # 560) to program the weird keys for whatever you want.
PS - if you are talking about the "secret keys" that is something different
Which version?
Which color wire goes with which part? I'm pretty confused
I think you're almost there... to reset it have the wire in rst and just tap the other end against the USB socket to ground it briefly. Then Windows might load the driver again, on a different COM port. You only get about 8 seconds after resetting, so get your command line ready first, then reset, then quickly hit enter to run the command.
Mine came with an LED blink hex loaded onto it, so when the flashing stopped it was running the bootloader.
I appreciate you guys doing all the dirty work for me.
I have had one of these for a month but have not taken it out of the bag yet because I was not in the mood to waste a bunch of time.
Hi guys... I have my AT Model F connected via Soarer's converter, its working well except I don't like how the shift keys work with the number pad... for example if I have num lock off and I do Shift+Home it outputs a 7 ... I use Shift+Home, Shift+End, and Shift+Insert all the time so this is kind of a pain... is there any easy way to remap that ? thanks
Hi guys... I have my AT Model F connected via Soarer's converter, its working well except I don't like how the shift keys work with the number pad... for example if I have num lock off and I do Shift+Home it outputs a 7 ... I use Shift+Home, Shift+End, and Shift+Insert all the time so this is kind of a pain... is there any easy way to remap that ? thanks
Which OS? (That stuff works OK for me on Windows).
I've got stuff like numpad modes and 'ways to react to lock state' on my to-do list... but also a lot else!
Double-check that the socket isn't wired backwards.
Then the best way to test is to open the XT and test continuity for all four lines all the way from the Pro Micro to the XT's PCB. See here (http://geekhack.org/index.php?topic=17458.msg1108249#msg1108249).
Does the converter support the Commodore Amiga A2000?
Can I just plug it in to my external Teensy box, or do I have to reset something?
Thanks!
JPG - If you get one rFF for each key press and each release, that probably means that the data line isn't connected somewhere.
I'm not sure you did the continuity test quite how I meant, since you had a problem with clock still! I really meant to test from each pad on the XT's PCB, to the corresponding pin right on the Pro Micro, which would test every connection in between.
But now that clock is working, you could just pull the data wire out of the breadboard and see if you get the same behaviour :)
So I tried installing Arduino. I tried (but could not succeed) in installing avrdude. Tried arduino builder: what was recommended here: http://deskthority.net/photos-videos-f8/ibm-model-m-1395764-with-curious-graphic-legends-1989-t6407.html#p135750
and nothing. The hex never got flashed over to the pro micro.
Does anyone else have other options? Apart from getting a teensy (of which two have been ordered in jdcarpes GB and are last ditch for this convertor)
So I tried installing Arduino. I tried (but could not succeed) in installing avrdude. Tried arduino builder: what was recommended here: http://deskthority.net/photos-videos-f8/ibm-model-m-1395764-with-curious-graphic-legends-1989-t6407.html#p135750
and nothing. The hex never got flashed over to the pro micro.
Does anyone else have other options? Apart from getting a teensy (of which two have been ordered in jdcarpes GB and are last ditch for this convertor)
Keep trying over and over again with avrdude. Short RST to GND and wait about a second, then hit enter on your avrdude programming command at the command line. Try that over and over until it finally works. Took me over 20 tries, I'm certain, before it successfully flashed to my Pro Micro clone.
If you're on a Mac, then you want to use Terminal. It isn't a DOS prompt. May look similar, but very very different.
Edit the file with any text editor, then use the scas tool to convert it to a format that can be used directly on the Teensy (the converted file will need the extension .scb). After you convert it, use scwr to send the converted configuration to the teensy.
If you're starting from scratch (a new, blank file, that you're picking the name for), and using TextEdit, when hitting Save, select Plain Text as the file format, and have the filename include the .sc at the end.
So after a couple months of procrastination, I have got back to attempting a remap. I am using wcass's instructions from way back on page 19, but I cannot seem to get past the first step of drag and dropping the scas.exe file. I know of the tools in the Docs folder, but dragging and dropping scas into Terminal does not seem to do anything. All it says is "no such file or directory" or if I just enter "scas" into terminal, it says "command not found".
So do I use this scas tool in Terminal? And where do I find this tools folder that I need to drag and drop from?
If you're on a Mac, then you want to use Terminal. It isn't a DOS prompt. May look similar, but very very different.
Edit the file with any text editor, then use the scas tool to convert it to a format that can be used directly on the Teensy (the converted file will need the extension .scb). After you convert it, use scwr to send the converted configuration to the teensy.
If you're starting from scratch (a new, blank file, that you're picking the name for), and using TextEdit, when hitting Save, select Plain Text as the file format, and have the filename include the .sc at the end.
Does anybody know where to buy XT female sockets to use with this converter?
Does anybody know where to buy XT female sockets to use with this converter?
Does anybody know where to buy XT female sockets to use with this converter?
Does anybody know where to buy XT female sockets to use with this converter?
Look at this (both 1$ free shipping):
for XT/AT DIN5 180°: http://www.ebay.ca/itm/DIN-Female-Jack-Cable-Connector-adapter-5-Pin-plug-panel-mount-solder-type-/280758416755?pt=US_Audio_Cable_Plugs_Jacks&hash=item415e817573&_uhb=1
for 270° DIN5 (F122): http://www.ebay.ca/itm/140624223277?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2648
I ordered the 270° one and use it with my F122 and it's doing a very ok job.
http://www.ebay.com/itm/Arduino-Pro-Mini-w-Free-Headers-ATMEGA328P-16MHz-5V-ATMEGA328-Fast-USA-Ship-/161094027756?pt=LH_DefaultDomain_0&hash=item2581f3c9ec
Anybody tried pro mini? Has a built in reset button and is atmega328
I keep thinking about it, but never seem to find a good time to do it. Unless I can find a way to remove certain info from the git repo, I won't be able to simply make my repo public. In all likelihood, I'll have to start a new repo without any history, which is a pain.Actually, git has some destructive commands to change your history: Github: Remove sensitive data (https://help.github.com/articles/remove-sensitive-data). Just make sure you have enough backups of the original repo.
Last time I looked I found git-filter-branch, but not reposurgeon, thanks! It has a couple of comands I'd need, that I couldn't quite figure out how to do properly with git-filter-branch. An effectively fresh repo, with fresh hashes, isn't a problem as long as history, branches and tags are present and dated correctly.
No matter what though, it's a big and tedious task, even just to check that the alterations/removals have been made 100% correctly, and don't remain lurking somewhere. It might be simpler to just manually create a fresh repo and push (possibly modified) snapshots of 1.0, 1.01, ... 1.11, 1.12 into it, plus branches that haven't merged back in yet. The dates would be wrong, but it would be *something*!
# Regular keyboard map
ifselect any
remapblock
layer 0
CAPS_LOCK SELECT_1
APP FN1
endblock
# Link fn keys to layer number.
layerblock
FN1 1
endblock
remapblock
layer 1
I UP
J LEFT
K DOWN
L RIGHT
endblock
# Locked layer starts here, override default selected layer 0.
ifselect 1
remapblock
layer 0
I UP
J LEFT
K DOWN
L RIGHT
endblock
I keep thinking about it, but never seem to find a good time to do it. Unless I can find a way to remove certain info from the git repo, I won't be able to simply make my repo public. In all likelihood, I'll have to start a new repo without any history, which is a pain.
It won't. Teensy 3.0 has a totally different CPU architecture for a start. But the real killer is that it runs at 3.3 volts, and can't interface directly to our 5 volt keyboards.I'm guessing this goes from the 3.1 also. Just read on the 3.1 vs the 3.0:
I keep thinking about it, but never seem to find a good time to do it. Unless I can find a way to remove certain info from the git repo, I won't be able to simply make my repo public. In all likelihood, I'll have to start a new repo without any history, which is a pain.
I can help with scrubbing the Git repo: https://help.github.com/articles/remove-sensitive-data
Edit: read more of the thread. If repodoctor doesn't do whatcha need and you want help with git-filter-branch you can always PM me.
I want to be absolutely sure when soldering my XT board so I don't fry the controller
The backside where I will be soldering wires from socket to teensy
(Attachment Link)
Are the markings on this correct for XT layout?
Thanks! Can't wait to finally use the XT
I have used this and it has worked. It looks like you did the right thing. Look elsewhere.
I have used this and it has worked. It looks like you did the right thing. Look elsewhere.
Phew
Thanks for the help! I'll do some troubleshooting and see exactly what;s the problem
Just completed this mod, I'm really happy with it. Blog post http://abzman2k.wordpress.com/2014/03/17/ibm-model-m-122key/ (http://abzman2k.wordpress.com/2014/03/17/ibm-model-m-122key/) contains links to pictures and my config file.
realized why my pro micro wasn't flashing correctly.......
the mini to micro converter I bought was just for charging....so there was no data or clock wire, just vcc and gnd. Accidentally broke the thing and found out that there were only two wires.....wtf
Yeah, as it turns out the n64's power supply is perfect for this task.
If you need a micro usb cable, I got some for my converter, 10$ for a pack of 3 and they seem good quality to meé1
http://www.ebay.com/itm/6-FT-USB-Cable-2-0-MALE-A-to-Micro-B-5-PIN-Gold-Plated-USB-6-FT-White-Lot-of-3-/360662082010?pt=US_USB_Cables_Hubs_Adapters&hash=item53f922a1da
model M's 2-high + key (turning the board into an F-121). The remaining extra keys are used for media control and to regain winkey/context menu.
model M's 2-high + key (turning the board into an F-121). The remaining extra keys are used for media control and to regain winkey/context menu.
Ha ha! Never realized that my ANSI-modded F-122s are now all F-121s!
I love the Function keys on the left and use them in preference to the (now redundant) upper ones.
The left F10 turned into "Windows", F13 became a 2nd Escape (along with the former NumLock), and my media keys are the last several in the top row, along with Calculator and PrintScreen. And I still have a handful that are still in Limbo.
Sliightly off-topic: does anyone perchance have a spare F-122 spacebar they'd be willing to sell to me? Mine has no stabilizer because it's an M spacebar (I believe the seller lost the original spacebar and decided to fit an M spacebar instead to get a fully-keyed board).
Sliightly off-topic: does anyone perchance have a spare F-122 spacebar they'd be willing to sell to me? Mine has no stabilizer because it's an M spacebar (I believe the seller lost the original spacebar and decided to fit an M spacebar instead to get a fully-keyed board).
Check out the super cool way that wcass made a bunch of M spacebar -> F mount stabilizer wires.
Parts List (http://geekhack.org/index.php?topic=52394.msg1241205#msg1241205)
Video of the process (http://geekhack.org/index.php?topic=52394.msg1247300#msg1247300)
¡ ¿ # $ % / & * ( ) ? +
1 2 3 4 5 6 7 8 9 0 ' =
Q W E R T Y U I O P : ^
q w e r t y u i o p ; `
A S D F G H J K L Ñ ¨ Ç
a s d f g h j k l ñ ´ ç
> Z X C V B N M " ! _
< z x c v b n m , . -
! ” • $ % & / ( ) = ? ¿
1 2 3 4 5 6 7 8 9 0 ’ ¡
Q W E R T Y U I O P ^ *
q w e r t y u i o p ` +
A S D F G H J K L Ñ ¨ ª
A s d f g h j k l ñ ´ º
Ç Z X C V B N M ; : _
ç z x c v b n m , . -
### IBM XT KEYBOARD QWERTY SPANISH
force set1
ifkeyboard any
ifselect any
# 83-key mappings
# On the XT, the ~/` key is located next to '/", and the key next to lshift is \|
# Remap this to match modern ISO layout
remapblock
layer 0
BACK_QUOTE BACKSLASH
BACKSLASH EUROPE_2
F10 FN1 # need to map the FN key into the base layer (0)
endblock
# Match the SPANISH XT's unusual legends
macroblock
# PROBLEMA
# ¿ Cómo conseguir [¡] al teclear Shift+1 ?
# Shift+2 = ¿
macro 2 shift -ctrl -alt
press EQUAL
endmacro
# Alt+Ctrl+2 = @
macro 2 -shift ctrl alt
push_meta set_meta
press 2
pop_meta
endmacro
# PROBLEMA
# Shift+3 = #
macro 3 shift -ctrl -alt
press 3 # Lo que sale es [•] (En cambio tengo [#] con Alt+Ctrl+3)
endmacro
# Shift+6 = /
macro 6 shift -ctrl -alt
press 7
endmacro
# Shift+7 = &
macro 7 shift -ctrl -alt
press 6
endmacro
# Shift+8 = *
macro 8 shift -ctrl -alt
press RIGHT_BRACE
endmacro
# Shift+9 = (
macro 9 shift -ctrl -alt
press 8
endmacro
# Shift+0 = )
macro 0 shift -ctrl -alt
press 9
endmacro
# PROBLEMA
# Tecla a la izq. de backspace debería ser [=] y [+], pero siguen saliendo [¡] y [¿]
# macro EQUAL -shift -ctrl -alt
# press EQUAL
# endmacro
# PROBLEMA
# ; No consigo que imprima [;] en las minúsculas (pero sí consigo [:] en la mayúsculas)
macro LEFT_BRACE -shift -ctrl -alt
press COMMA
endmacro
# Shift+; = :
macro LEFT_BRACE shift -ctrl -alt
press PERIOD
endmacro
# Shift+, = ”
macro COMMA shift -ctrl -alt
press 2
endmacro
# ‘
macro RIGHT_BRACE -shift -ctrl -alt
press LEFT_BRACE
endmacro
# ^
macro RIGHT_BRACE shift -ctrl -alt
press LEFT_BRACE
endmacro
# [
macro QUOTE -shift ctrl alt
push_meta set_meta
press LEFT_BRACE
pop_meta
endmacro
# Shift+. = !
macro PERIOD shift -ctrl -alt
press 1
endmacro
# Alt+Ctrl < = \
macro EUROPE_2 -shift ctrl alt
push_meta set_meta
press BACK_QUOTE
pop_meta
endmacro
# PrtSc macro
macro PAD_ASTERIX shift
press PRINTSCREEN
endmacro
endblock
Is it possible to program a key to load Notepad? If so, how?
I'm really interested in making a nice little converter that will go with my Poker II and will handle custom mappings and dual-role logic (caps->esc/ctrl), as well as being able to have modes: Let's say I hit both alt keys and that will allow me to toggle between several layouts.
I'm quite comfortable in C, but how do I calculate memory consumption when programming for the teensy? Do I just see if my c/h-files along with linked libraries fit within the teensy memory, along with whatever I have auto-allocated? Do I need to use malloc/free? How much space does each layout take? Is a layout just an array of unsigned chars?
Does the teensy have support for wchar?
Also, can I get NKRO with usb to usb on a teensy? I don't need more than 10KRO though.
I would like the converter to be as small and light as possible and the clunky usb->ps/2 converter infront of the teensy really bothers me. When I've checked the wiring for these converters, they seem to be just simple connections without any other components in between. So, I'm thinking: Is there any good reason for connecting the teensy to a PS/2 port and use a usb to ps/2 converter to get a usb keyboard to fit the teensy, if I can just wire a usb port to the teensy and have it be usb to usb?
Conn. Teensy
GND -------- GND
Vcc/+5V ---- Vcc
Data ------- PD0
Clock ------ PD1
So I want to make a little converter box for my terminal model M without modifying the keyboard itself. The keyboard has an RJ-45 connector. If I wire a female RJ-45 following this diagram and wiring:Code: [Select]Conn. Teensy
GND -------- GND
Vcc/+5V ---- Vcc
Data ------- PD0
Clock ------ PD1Show Image(http://www.kbdbabel.org/conn/kbd_connector_ibmterm.png)
I would be wiring the back of the female rj-45 to the teensy, so this diagram would be reversed, with Vcc on the right and the GND on the left, correct?
and once it's wired, i just need to drop soarer's hex file on it and that's it?
So I want to make a little converter box for my terminal model M without modifying the keyboard itself. The keyboard has an RJ-45 connector. If I wire a female RJ-45 following this diagram and wiring:Code: [Select]Conn. Teensy
GND -------- GND
Vcc/+5V ---- Vcc
Data ------- PD0
Clock ------ PD1Show Image(http://www.kbdbabel.org/conn/kbd_connector_ibmterm.png)
I would be wiring the back of the female rj-45 to the teensy, so this diagram would be reversed, with Vcc on the right and the GND on the left, correct?
and once it's wired, i just need to drop soarer's hex file on it and that's it?
It worked for me.
A lot of people get confused when the diagrams show the * socket * since they are usually holding the plug in their hands, at the time.
And has anyone had problems with the pin teensy?
It's XT. The thing is, it seems I'd have to ruin the end of the plug, unless I'm completely misreading this
What do you mean by "reprogram the LED locations"? You want to use your existing Scroll Lock LED as Num Lock LED and vice versa for example?
The converter doesn't support that through PS/2. If you build an internal converter, you can connect the LEDs directly to the Teensy though (with a resistor for each LED).
You won't have a problem with that, there are instructions floating around here about how to load the hex with avrdude, that is the easiest way with the pro micro that I've found.
That said, Adafruit has Teensy 2.0 pretty cheap now, only 15.95 USD - also they are in New York right near the postal depot so it probably would ship pretty fast if you are in Spain
http://www.adafruit.com/products/199
So today I discovered one of my Cherry keyboards I've never been able to use speaks IBM 3270. Forgive my ignorance here, but is that supported?
270 degree DIN
How do I program IBM Model M 122?
How do I program IBM Model M 122?
Hi,
I have recently set up this converter with a model m ssk, to hopefully get rid of AHK for remapping,
but have stumbled on an issue. The ALT key behaves differently than on a 'bluebox' converter for example.
It is triggered on press down, instead it should be on release - because of that Alt - Print Screen combination
does not work.
Is this a bug or is there a way to specify this behaviour via config?
remapblock
EXTRA_SYSRQ PRINTSCREEN
endblock
macro PAGE_UP ALT
MAKE MEDIA_VOLUME_UP
onbreak norestoremeta
BREAK MEDIA_VOLUME_UP
endmacro
macroblock
macro DOWN ALT
PRESS X
endmacro
endblock
macroblock
macro DOWN CTRL
PRESS X
endmacro
endblock
macroblock
macro DOWN SHIFT
PRESS X
endmacro
endblock
#missing numpad enter :'(
macro RIGHT LALT
BREAK LALT
PRESS ESC
PUSH_META CLEAR_META all
MAKE ENTER
onbreak norestoremeta
BREAK LALT
PRESS ESC
PUSH_META CLEAR_META all
BREAK ENTER
endmacro
This converter won't help you there. It only converts standard PS/2 keyboard behaviour to USB. It doesn't support any special PS/2 commands for programming keyboards that Cherry uses. Even if it could do that, that would not work with the Cherry software. To program the board you will need a computer with a PS/2 port.
After you're done programming the board, you can probably use either your generic converter or use Soarer's if the board supports special key codes that the generic converter doesn't support.
I know this info is probably in the thread somewhere, but I was hoping somebody could point me towards the answer. On an IBM Model F XT, does anybody know which internal wires correspond to GND, VCC, Data, Clock, etc? I want to connect the Teensy internally at the controller rather than use adapters with the connector cable. I've got brown, red, white and black wires, if that helps anybody.
I know this info is probably in the thread somewhere, but I was hoping somebody could point me towards the answer. On an IBM Model F XT, does anybody know which internal wires correspond to GND, VCC, Data, Clock, etc? I want to connect the Teensy internally at the controller rather than use adapters with the connector cable. I've got brown, red, white and black wires, if that helps anybody.
If you have the original cable and a multimeter, trace them yourself.
I was hoping for the easy way out with this one.
It had a RJ-45 connector, and I have extra double checked that i have wired it correctly (5v on 3/Vcc, data on 4/PD0, clock on 5/PD1, grd on 6/grd).
It had a RJ-45 connector, and I have extra double checked that i have wired it correctly (5v on 3/Vcc, data on 4/PD0, clock on 5/PD1, grd on 6/grd).
I am not sure what these numbers mean, but be sure to remember that the diagrams show the socket (female) that the cable (male) plugs into rather than the plug itself.
Conn. Teensy
GND -------- GND
Vcc/+5V ---- Vcc
Data ------- PD0
Clock ------ PD1
ifset set3
# Arakula's config for Terminal Model M (No 1394312, 122 keys, ISO Layout, cable with RJ45 connector)
# This one mimics the Unicomp PC/5250's behavior as closely as possible
###############################################################################
# macros to mimic the PC/5250 set 2 behavior
###############################################################################
# left hand side function keys
macroblock
macro EXTRA_F2
PUSH_META CLEAR_META all # save and clear all metas
SET_META lctrl
press 2
POP_ALL_META
endmacro
macro EXTRA_F5
PUSH_META CLEAR_META all # save and clear all metas
SET_META LCTRL
press PAUSE
POP_ALL_META
endmacro
macro EXTRA_F6
PUSH_META CLEAR_META all # save and clear all metas
SET_META LALT
press F1
POP_ALL_META
endmacro
macro EXTRA_F7
PUSH_META CLEAR_META all # save and clear all metas
SET_META LCTRL LSHIFT
press 4
POP_ALL_META
endmacro
macro EXTRA_F8
PUSH_META CLEAR_META all # save and clear all metas
SET_META LCTRL LSHIFT
press 3
POP_ALL_META
endmacro
endblock
# function keys upper row
macroblock
macro F13
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press F1
POP_ALL_META
endmacro
macro F14
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press F2
POP_ALL_META
endmacro
macro F15
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press F3
POP_ALL_META
endmacro
macro F16
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press F4
POP_ALL_META
endmacro
macro F17
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press F5
POP_ALL_META
endmacro
macro F18
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press F6
POP_ALL_META
endmacro
macro F19
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press F7
POP_ALL_META
endmacro
macro F20
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press F8
POP_ALL_META
endmacro
macro F21
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press F9
POP_ALL_META
endmacro
macro F22
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press F10
POP_ALL_META
endmacro
macro F23
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press F11
POP_ALL_META
endmacro
macro F24
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press F12
POP_ALL_META
endmacro
endblock
# cursor block
macroblock
# This is really for the INSERT key, which has been remapped to the unused key INTERNATIONAL_8
macro INTERNATIONAL_8
PUSH_META CLEAR_META all # save and clear all metas
SET_META lshift
press TAB
POP_ALL_META
endmacro
# This is really for the DELETE key, which has been remapped to the unused key INTERNATIONAL_9
macro INTERNATIONAL_9
# this one is completely senseless, but Unicomp PC/5250...
PUSH_META CLEAR_META all # save and clear all metas
# must be set separately to get them in precise order
SET_META lshift
SET_META lctrl
POP_ALL_META
endmacro
endblock
# Numpad
macroblock
macro SCROLL_LOCK shift
PRESS NUM_LOCK
endmacro
endblock
###############################################################################
# key remapping
###############################################################################
remapblock
# left hand side function keys
EXTRA_F1 ESC
# EXTRA_F2 macro: LCtll - 2 - 2 up - LCtrl up
EXTRA_F3 PRINTSCREEN
EXTRA_F4 PAUSE
# EXTRA_F5 macro: LCtrl - Break down - Break up - LCtrl up
# EXTRA_F6 macro: LAlt - F1 - F1 up - LAlt up
# EXTRA_F7 macro: LCtrl - LShift - 4 - LShift up - LCtrl up
# EXTRA_F8 macro: LCtll - LShift - 3 - LShift up - LCtrl up
EXTRA_F9 LGUI
EXTRA_F10 APP
# function keys upper row
# F13 macro: LShift - F1 - F1 up - LShift up
# F14 macro: LShift - F2 - F2 up - LShift up
# F15 macro: LShift - F3 - F3 up - LShift up
# F16 macro: LShift - F4 - F4 up - LShift up
# F17 macro: LShift - F5 - F5 up - LShift up
# F18 macro: LShift - F6 - F6 up - LShift up
# F19 macro: LShift - F7 - F7 up - LShift up
# F20 macro: LShift - F8 - F8 up - LShift up
# F21 macro: LShift - F9 - F9 up - LShift up
# F22 macro: LShift - F10 - F10 up - LShift up
# F23 macro: LShift - F11 - F11 up - LShift up
# F24 macro: LShift - F12 - F12 up - LShift up
# cursor block
# these 2 mapped to unused keys, which are then treated by macros
INSERT INTERNATIONAL_8
DELETE INTERNATIONAL_9
HOME INSERT
END DELETE
LANG_4 HOME
# Numpad
ESC END
NUM_LOCK SCROLL_LOCK
SCROLL_LOCK PAD_SLASH
EXTRA_SYSRQ PAD_ASTERIX
PAD_ASTERIX PAD_MINUS
PAD_MINUS PAD_PLUS
PAD_PLUS PAD_ENTER
# #-key
EUROPE_1 BACKSLASH
endblock
I've added a little image gallery for my mod at http://imgur.com/a/RRwBH - have fun!
I've loaded the hex file I got from compiling the Makefile.pjrc in ps2_usb from the TMK repo.TMK repo? Compiling? I think you are in the wrong thread, this is not about hasu's controller.
OK. I've tried loading the soarer firmware (1.12), but still no input from my keyboard shows up on screen.I've loaded the hex file I got from compiling the Makefile.pjrc in ps2_usb from the TMK repo.TMK repo? Compiling? I think you are in the wrong thread, this is not about hasu's controller.
If you want the Soarer converter the download of the hex file is in the OP of this thread.
[136213.479186] usb 4-1.2: New USB device found, idVendor=16c0, idProduct=047d
[136213.479197] usb 4-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[136213.479202] usb 4-1.2: Product: Soarer's Keyboard Converter
[136213.479207] usb 4-1.2: Manufacturer: Soarer
[136213.480416] hid-generic 0003:16C0:047D.0014: No inputs registered, leaving
[136213.480519] hid-generic 0003:16C0:047D.0014: hidraw0: USB HID v1.11 Keyboard [Soarer Soarer's Keyboard Converter] on usb-0000:00:1d.0-1.2/input0
[136213.481775] hid-generic 0003:16C0:047D.0015: hidraw1: USB HID v1.11 Device [Soarer Soarer's Keyboard Converter] on usb-0000:00:1d.0-1.2/input1
[136213.484198] input: Soarer Soarer's Keyboard Converter as /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2:1.2/0003:16C0:047D.0016/input/input27
[136213.484410] hid-generic 0003:16C0:047D.0016: input,hidraw2: USB HID v1.11 Keyboard [Soarer Soarer's Keyboard Converter] on usb-0000:00:1d.0-1.2/input2
[136213.485902] hid-generic 0003:16C0:047D.0017: hiddev0,hidraw3: USB HID v1.11 Device [Soarer Soarer's Keyboard Converter] on usb-0000:00:1d.0-1.2/input3
Wiring Info
Connector Breakout board
GND GND
Vcc/+5V VCC
Data PD0
Clock PD1
Keyboard Reset v1.1+ PB7
See PJRC for Teensy pinouts, or the documentation that came with your chosen breakout board.
'Keyboard Reset' is only required for certain PC/XT-like keyboards, such as the Leading Edge DC-2014.
v1.10 is now available in the OP (http://geekhack.org/index.php?topic=17458.0)!
- Added support for 'almost' PC/XT protocol keyboards, e.g. Leading Edge DC-2014.
Listening:
wEE
remaining: FFFC
Keyboard ID: 0000
Code Set: 1
Mode: PC/XT
R05
Has anyone actually been able to get the converter to work with a DC-2014?
Weird. My photo doesn't show up but if you click on it it will pull it up.
I was holding it with the retention clip facing down and looking at the pins. The 3rd pin would be VCC right?
If you have a Harbor Freight Tools nearby, you can get a multimeter really cheap. You just need to test continuity, so accuracy isn't important here. It's better to spend a little up front to make sure the the wiring's right, rather than risk blowing a cap on the controller.
how to use a multimeter rather than me just randomly searching around the Internet.
how to use a multimeter rather than me just randomly searching around the Internet.
My favorite cheap-o has a beeper. If you touch the 2 probes on something that is connected, it beeps.
98% of the time that is all I want to do, see if something is connected or not.
I have a 2nd multimeter that does more things but does not have a beeper. Does anybody want to buy it for $10 shipped including a new battery?
Without a beeper, just try to determine whether anything at all is passing through. If you get some sort of reading with both probes touching something, and no reading if they are not, then you probably have continuity.
At the moron level that I usually work from, that is all you need.
how to use a multimeter rather than me just randomly searching around the Internet.
My favorite cheap-o has a beeper. If you touch the 2 probes on something that is connected, it beeps.
98% of the time that is all I want to do, see if something is connected or not.
I have a 2nd multimeter that does more things but does not have a beeper. Does anybody want to buy it for $10 shipped including a new battery?
Without a beeper, just try to determine whether anything at all is passing through. If you get some sort of reading with both probes touching something, and no reading if they are not, then you probably have continuity.
At the moron level that I usually work from, that is all you need.
Yea, I am working from the same moron level. I got an el cheapo from Harbor Freight, but I can't get readings from anything. I think that I need to poke around the Internet some more for basic information.
Even if I figure out how to use the multimeter and get a reading, when I'm trying to determine which prong is which on the controller of the XT, I have no clue what I am looking for to make that determination.
how to use a multimeter rather than me just randomly searching around the Internet.
My favorite cheap-o has a beeper. If you touch the 2 probes on something that is connected, it beeps.
98% of the time that is all I want to do, see if something is connected or not.
I have a 2nd multimeter that does more things but does not have a beeper. Does anybody want to buy it for $10 shipped including a new battery?
Without a beeper, just try to determine whether anything at all is passing through. If you get some sort of reading with both probes touching something, and no reading if they are not, then you probably have continuity.
At the moron level that I usually work from, that is all you need.
Yea, I am working from the same moron level. I got an el cheapo from Harbor Freight, but I can't get readings from anything. I think that I need to poke around the Internet some more for basic information.
Even if I figure out how to use the multimeter and get a reading, when I'm trying to determine which prong is which on the controller of the XT, I have no clue what I am looking for to make that determination.
The XT is the easiest to figure out since there's an image in this thread that shows what goes where AND it has test pads so it's much easier for a first conversion. As for the multimeter, just set it up to test continuity (it will beep if there's current and does nothing if there's no current and it's all you need to know. You put one pin from the multimeter on a pad and the other on a pin where the cable is plugged (or on the cable pins if you want to use the cable). If it beeps it's connected, else it's not.
To make it easier, I will post the image of the XT pads mapping that Soarer posted a few pages before:
(Attachment Link)
Now I feel lazy for not searching deep enough in the thread
Has anyone actually been able to get the converter to work with a DC-2014?
I had the same experience.
Somewhere recently I heard an oblique reference that the DC-2014 expects that extra 5th leg connected for some reason.
I think that Akimbo got one to work.
PS - you are sitting on a gold mine
Great news for people that use the Teensy, but, I use the Pro Micro and PB7 isn't pinned out.Ah, so you're responsible for the "one download" :cool:
edit: Using http://deskthority.net/workshop-f7/how-to-use-a-pro-micro-as-a-cheap-controller-converter-like-soarer-s-t8448-30.html for the Pro Micro to remap PB7 to PB6 I've got all of my DC-2014's working
Great news for people that use the Teensy, but, I use the Pro Micro and PB7 isn't pinned out.Ah, so you're responsible for the "one download" :cool:
edit: Using http://deskthority.net/workshop-f7/how-to-use-a-pro-micro-as-a-cheap-controller-converter-like-soarer-s-t8448-30.html for the Pro Micro to remap PB7 to PB6 I've got all of my DC-2014's working
Great to know it was of help to somebody!
edit: BTW, I just added another little patch (downloadable from the same thread on DT) to let Soarer's Converter use the RX LED on the Pro Micro for visual feedback. Not necessary, but perhaps nice to have.
I put together a new Soarer's converter last night. I didn't have an enclosure to house the electronics in so I had to go for a more minimalist approach. I used one of these (http://www.allelectronics.com/make-a-store/item/din-5f/female-5-pin-din-connector-in-line-locking/1.html) connectors and tried to keep everything as compact as possible. You can see the results below. Thank you Soarer for creating and sharing your converter.
If so what color means what?
Interesting. I guess that means I should get myself a functioning multimeter.If so what color means what?
NEVER TRUST WIRE COLOR !
So my Teensy ran out of memory, is there any way to hook in an SD card to the teensy (I am basing this off the adaptors that are available on PRJC) and use that for extra memory remembering that its running Soarer's?
So my Teensy ran out of memory, is there any way to hook in an SD card to the teensy (I am basing this off the adaptors that are available on PRJC) and use that for extra memory remembering that its running Soarer's?
As we don't have the source code, you would need Soarer's help to do that. It won't work with the software as it is.
However, there's a better solution: if you're using a Teensy 2.0 now, you can instead use the converter on a Teensy 2.0++ . It uses a different microcontroller (AT90USB1286) that has much more memory, (4x the EEPROM memory of the Teensy 2.0).
http://www.pjrc.com/teensy/index.html
http://deskthority.net/workshop-f7/xt-at-ps2-terminal-to-usb-converter-with-nkro-t2510-180.html#p99841
You can do damage if you reverse power and ground.So the image on the bottom right shows the pinout for the connector on the PCB that the cable connects to correct? Is the pinout the same for 101 key terminal boards?
The daigram in the lower corner applies only to the connection of the F-122 cable to the controller.
http://i.imgur.com/NNquq.jpg[/img]](http://i.imgur.com/NNquq.jpg) (http://[img width=630 height=768)
So the image on the bottom right shows the pinout for the connector on the PCB that the cable connects to correct? Is the pinout the same for 101 key terminal boards?
I didn't try, but I don't think that'll work.Well hopefully the HID code for the key I am thinking of is in the list of key names. I have not found any records of a soarer's converter being used on the specific keyboard I bought so I don't know if it works with one specific key, but I am guessing that it will. I am just paranoid about getting my keyboard and building the converter just to have something not work right...
You can just open the file docs/codes.html from the download in your browser and search (Ctrl+F) for the HID code.
Is there any way to test and see if my converter is working without putting the keyboard together? I had to get rid of the plastic rivets and my bolts are not here yet.
Is there any way to test and see if my converter is working without putting the keyboard together? I had to get rid of the plastic rivets and my bolts are not here yet.Apart from fohat.digs' understandable reaction...
So I have put everything together and the keyboard is not working. Any suggestions?
I am fairly sure that everything was assembled correctly after the bolt mod. Everything feels right at least. The board is 1987 Model M 1390636 and it came with a DIN 5 cable.So I have put everything together and the keyboard is not working. Any suggestions?
I am finished being snide with you, that was probably rude, although I may not be much help.
Perhaps I just missed it, but: What is the keyboard? What is the cable connector?
Do you feel good about the pieces being re-assembled correctly after the bolt-mod?
Anybody got a photo of an internally mounted Teensy for a PS/2 Model M, not a Terminal M? I want to mount my Teensy internally. I'm thinking that I need to de-solder the socket, and then connect the Teensy that way by soldering some wires to the socket holes and the Teensy. Does that sound about right?
I would do what this guide shows - http://straypoetry.com/ibm-model-m-keyboard/#Anybody got a photo of an internally mounted Teensy for a PS/2 Model M, not a Terminal M? I want to mount my Teensy internally. I'm thinking that I need to de-solder the socket, and then connect the Teensy that way by soldering some wires to the socket holes and the Teensy. Does that sound about right?
I'm going to pose this question again and see if I get an answer.
So I have put everything together and the keyboard is not working. Any suggestions?Could you elaborate on "is not working"? :rolleyes:
hid_listen says absolutely nothing. Windows does recognize soarer's converter as a HID usb device, it even says it is a keyboard. No error messages, and my specific board is a terminal board so it has no LEDs. No smoke coming from the controller, but I am starting to think that the controller is the issue.So I have put everything together and the keyboard is not working. Any suggestions?Could you elaborate on "is not working"? :rolleyes:
Start hid_listen and then plug the usb cable into your computer. What does hid_listen show? Do you hear the Windows sound saying a new usb device has been found? Any error messages? Are any LEDs lit on the keyboard / do they work if you press e.g. caps lock? Any smoke coming from the controller?
Waiting for new device:....................
Listening:
wEE
remaining: FFFC
Keyboard ID: 0000
Code Set: 1
Mode: PC/XT
Waiting for device:...........
Listening:
rAA wEE rEE wF2 rFA rAB r83
remaining: FFFC
Keyboard ID: AB83
Code Set: 2 (extended)
Mode: AT/PS2
wED rFA w00 rFA
r11 +E2 dE2
Device disconnected.
oh sh**! The diagram of the connectors are showing the end on the connector on the PC, not on the cable on the board! That means I hooked the wires up to teensy backwards! Would that hurt anything? I didn't swap ground and VCC so it should be ok right? I swapped VCC and clock, GND and data, clock and vcc, and and data and GND.
The diagram of the connectors are showing the end on the connector on the PC, not on the cable on the board!
ok i re-soldered it and it works now but the 'o' key and they '0' key both output '0o' and sometimes 'o0'. I also have broken stabilizer clips for the spacebar which really sucks because the space bar has to be pressed right in the center to register. I am thinking of sending it into unicomp to get a few original parts replaced.
I would do what this guide shows - http://straypoetry.com/ibm-model-m-keyboard/#Anybody got a photo of an internally mounted Teensy for a PS/2 Model M, not a Terminal M? I want to mount my Teensy internally. I'm thinking that I need to de-solder the socket, and then connect the Teensy that way by soldering some wires to the socket holes and the Teensy. Does that sound about right?
I'm going to pose this question again and see if I get an answer.
It works on all model M's but you will have to shave some plastic off of the panel mount USB connector for everything to fit.
I would do what this guide shows - http://straypoetry.com/ibm-model-m-keyboard/#Anybody got a photo of an internally mounted Teensy for a PS/2 Model M, not a Terminal M? I want to mount my Teensy internally. I'm thinking that I need to de-solder the socket, and then connect the Teensy that way by soldering some wires to the socket holes and the Teensy. Does that sound about right?
I'm going to pose this question again and see if I get an answer.
It works on all model M's but you will have to shave some plastic off of the panel mount USB connector for everything to fit.
It doesn't "work on all Model Ms". Only on the later ones with a fixed cable.
Earlier models use a detachable cable, with an SDL connector mounted on the controller card that sits directly behind the hole in the case.
This needs a much more extensive modification, as you can only ...IMO, an external solution sitting on the far end of the cable, either directly replacing the AT or PS/2 connector with the Teensy or by using a PS/2 female connector to plug the original cable into it, would be a far easier way to go.
- desolder the connector and solder in a cable instead, then put a panel mount USB connector on top of the board (tricky work)
or- move the complete controller board a bit into the case, in which case you'd have to remove the plastic clips that hold it in place and find a new way of attaching it to the shell. Then you could cut up the original cable behind the SDL connector and attach the leads to the Teensy. Not easily done either.
Then, of course, there's still this way:- drill two new holes in the shell, feed the Teensy's USB cable to the first. Cut up the original cable, leave it connected externally to the original controller, feed the other end through the second hole, then solder the leads to the Teensy. Ugh.
Can I do this mod on a regular model m with a dodgy connector? I have a spare teensy 2 and a model m with a bad controller so I was hoping this would be the model ms saving grace. If it is possible could someone explain all the details including which usb wire to where on the teensy and how to use the teensy to bypass the bad controller.That would rather be a job for Soarer's Controller (https://geekhack.org/index.php?topic=50437.0).
I also have broken stabilizer clips for the spacebar which really sucks because the space bar has to be pressed right in the center to register.
How did he secure the washers?I also have broken stabilizer clips for the spacebar which really sucks because the space bar has to be pressed right in the center to register.
There is the mind-numbingly simple and elegant solution by wcass for using 7/16" SAE washers in lieu of tabs:Show Image(http://i.imgur.com/8r9JLTy.jpg)
How did he secure the washers?
I would do what this guide shows - http://straypoetry.com/ibm-model-m-keyboard/#Anybody got a photo of an internally mounted Teensy for a PS/2 Model M, not a Terminal M? I want to mount my Teensy internally. I'm thinking that I need to de-solder the socket, and then connect the Teensy that way by soldering some wires to the socket holes and the Teensy. Does that sound about right?
I'm going to pose this question again and see if I get an answer.
It works on all model M's but you will have to shave some plastic off of the panel mount USB connector for everything to
I would do what this guide shows - http://straypoetry.com/ibm-model-m-keyboard/#Anybody got a photo of an internally mounted Teensy for a PS/2 Model M, not a Terminal M? I want to mount my Teensy internally. I'm thinking that I need to de-solder the socket, and then connect the Teensy that way by soldering some wires to the socket holes and the Teensy. Does that sound about right?
I'm going to pose this question again and see if I get an answer.
It works on all model M's but you will have to shave some plastic off of the panel mount USB connector for everything to
Thanks. That guide is for a terminal M. I'm looking for a photo on a hookup to a PS/2 Model M.
Great blog, though, I loved the blog.
I would do what this guide shows - http://straypoetry.com/ibm-model-m-keyboard/#Anybody got a photo of an internally mounted Teensy for a PS/2 Model M, not a Terminal M? I want to mount my Teensy internally. I'm thinking that I need to de-solder the socket, and then connect the Teensy that way by soldering some wires to the socket holes and the Teensy. Does that sound about right?
I'm going to pose this question again and see if I get an answer.
It works on all model M's but you will have to shave some plastic off of the panel mount USB connector for everything to
Thanks. That guide is for a terminal M. I'm looking for a photo on a hookup to a PS/2 Model M.
Great blog, though, I loved the blog.
This is Ezra from straypoetry.com, I do have a picture of an internal Soarer on a ps/2 model, but you will have to give me a few to find it, I think its on my other camera. I will post is shortly for you.
Does anyone know of any software that tells you the HID code of the key you are currently pressing?
Aqua key test only does bios key codes and windows key codes. It is not one of the left FN keys on a 122, it is the key where the ESC key is on a terminal board like this one - http://www.ebay.com/itm/IBM-English-Keyboard-for-3196-Terminal-103-Key-1390636-/370400729457Does anyone know of any software that tells you the HID code of the key you are currently pressing?
Aqua Key Test might tell you what you need. Look in the area at the bottom.
After you flash the Teensy with Soarer's firmware, that left bank of function keys on a 122 is identified as "EXTRA_F1-EXTRA_F10" etc, even if Aqua Key Test does not return that value.
I just got the windows key code and ctrl+f'd it here - http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
dear sirsI think http://www.mouser.com/ sells electronics.
i am new in the united states
can you tell me where is the place that has shops for electronic components such as avr micro controlers , resistore , capacitors , ...?
i need your help thankyou
Hi,
I know nothing about teensy 2.0, I need to know something before you buy?
It is for soarer converter on a ibm 122.
It is reliable teensy ebay? or should I go pjrc ?
thank you very much, take the opportunity to thank all the great work of the libraries. A magnificent work.
I bought it in snootlab (French), I hope I have since bought the "expensive" just is upload the data and "plug and play".It should be, yes. Both quality assurance and ease-of-use are a big plus for the Teensy.
One question, I understand that teensy uses a privative bootloader, if this is cleared you can download and put back in place?I do not find clear answers to this.Let's see if I can put that in a concise manner...
At each step new questions and solutions appear.That's perfectly normal and, at least from my personal point of view, THIS is precisely what has kept my job as a programmer both interesting and fascinating for more than 3 decades now. You never stop learning something new every day.
I have a 122 key terminal, with a jr45, this one in fact:Ouch. I hope that F16 key (F16, BTW, not F17; they didn't even get THAT right) isn't totally ruined. Looks really bad on the picture.
http://www.ebay.co.uk/itm/390990832981?_trksid=p2060778.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
I have downloaded all the files etc, and flicked through the documents, and read around a bit. Will this board work?
http://www.ebay.co.uk/itm/400514883558?_trksid=p2060778.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT
Hiya Ross,
I too am the recipient of one of the 122 key terminal Model Ms off Ebay. Unfortunately, I couldn't get the keyboard to respond to my teensy at all, so have come to the conclusion that the control board is probably buggered. I've got the teensy working with the standard Model M that is my daily keyboard, so I think I'm going to strip it for parts. If you need any bits for that buggered F16 button, let me know and you can have them with pleasure.
If you could photo your controller board to show the jumpers on the edge of the control board, I'd be interested to see what your settings are.
Cheers
Tim
Hiya Ross,
I too am the recipient of one of the 122 key terminal Model Ms off Ebay. Unfortunately, I couldn't get the keyboard to respond to my teensy at all, so have come to the conclusion that the control board is probably buggered. I've got the teensy working with the standard Model M that is my daily keyboard, so I think I'm going to strip it for parts. If you need any bits for that buggered F16 button, let me know and you can have them with pleasure.
If you could photo your controller board to show the jumpers on the edge of the control board, I'd be interested to see what your settings are.
Cheers
Tim
If you are looking for a replacement M122 controller, I can help you out, I have a few extra good ones here.
If you are looking for a replacement M122 controller, I can help you out, I have a few extra good ones here.
I have a 122 key terminal, with a jr45, this one in fact:Ouch. I hope that F16 key (F16, BTW, not F17; they didn't even get THAT right) isn't totally ruined. Looks really bad on the picture.
http://www.ebay.co.uk/itm/390990832981?_trksid=p2060778.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AITI have downloaded all the files etc, and flicked through the documents, and read around a bit. Will this board work?
http://www.ebay.co.uk/itm/400514883558?_trksid=p2060778.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT
Yes it should work with a Model M-122 terminal keyboard, except for the little fact that Soarer's original firmware doesn't handle the Pro Micro's on-board LEDs correctly. See my posts here (http://deskthority.net/post187874.html#p187874) and here (http://deskthority.net/post189117.html#p189117) (the second one being more relevant here) for a patched version for the Pro Micro (plus my little writeup a bit below these posts on how I got them up to a decent, easily programmable state, if you're interested in technical details).
I've got a feeling the jumpers on the controller are set to something arcane, which is making the board refuse to cooperate. I think the M122 is going to be a long term project, and needs a bolt mod doing as a bare minimum.
So I got my XT working over USB. All I had to do was load the right firmware onto the teensy, hook up the wires, plug it in and off I went.
The problem is, I want to change some of the keys around. How do I go about doing this? Fair warning, I am a software newbie.
So I got my XT working over USB. All I had to do was load the right firmware onto the teensy, hook up the wires, plug it in and off I went.
The problem is, I want to change some of the keys around. How do I go about doing this? Fair warning, I am a software newbie.
In Soarer's thread (oh wait, that is this thread!) post #560 by wcass gives you a clean and simple method that works great.
In the original post, the documentation includes a spreadsheet list of all the keyboard codes.
I actually did this project about a month ago after I bought a 122 key model M off of ebay and it went perfectly. I honestly just have no clue how to remap it so I can make use of the extra keys. Could someone point me in the right direction?it is actually quite easy. first, go to the DOCS folder and double-click on index.html. since you only need help re-mapping keys, go to the Config section and read the Command Reference. if you are starting with a 122 then you probably will only need to study/learn remapblock. you will also need to learn (or keep a cheat sheet handy) what the program expects you to name any keys you will be working with. you will find these in the Codes section. then open one or more of the .sc files in notepad and look at these as examples.
create your own sc file with a text editor. start with a comment line (line begins with #) that identifies what you are trying to do. add a line remapblock to start the remap block. list the keys you want to change and what you want to change each to. then close the remap block with the endblock command. save this file with a .sc extension.Code: [Select]# Billy's TSSK layout
remapblock
F7 DELETE
F8 END
F9 PAGE_DOWN
F10 LEFT
F11 DOWN
F12 RIGHT
F13 F7
F14 F8
F15 F9
F16 F10
F17 F11
F18 F12
F19 INSERT
F20 HOME
F21 PAGE_UP
F22 SCROLL_LOCK
F23 UP
F24 PAUSE
FAKE_06 BACKSLASH
FAKE_08 ESC
FAKE_09 PRINTSCREEN
FAKE_10 MEDIA_MEDIA_SELECT
FAKE_11 MEDIA_PLAY_PAUSE
FAKE_12 MEDIA_PREV_TRACK
FAKE_13 MEDIA_NEXT_TRACK
FAKE_14 MEDIA_VOLUME_DOWN
FAKE_15 MEDIA_VOLUME_UP
FAKE_16 APP
FAKE_17 LGUI
endblock
open a dos prompt. navigate to your tools folder and drag&drop scas.exe to the command prompt, but don't run it yet. add a space to the end and then drag&drop your custom .sc file to the end of the command line - don't run it yet. add a space and then drag&drop the same .sc file - and then add a B to the end. now hit enter to run the command. this "compiles" your code. you will find it in the same folder as your SC file but with SCB as the file extension.
now that your custom file is compiled, you need to send that to the teensy. drag&drop scwr.exe into the command window, add a space, and then drag&drop your .SCB file to the end of the command line. hit enter to program.
test your newly remapped keys to verify that they are remapped.
I am typing this from a recently converted keyboard, please see attached photo, as unquestionable proof!!!!!.
I followed the excellent guide here (http://hasbeardplaysgames.co.uk/2014/10/12/converting-an-ibm-model-m-terminal-keyboard/)
Its worth noting that I had to plug the pro micro in to a USB 2 port, to get the driver to be installed by windows.
BTW, I assume I can use scaswr.bat even though the board is now wired up to the keyboard, right.
Does anybody know where to get a mini-usb mount panel for an SSK? I'd love to put the teensy inside my SSK but i want it to looks nice :D
Does anybody know where to get a mini-usb mount panel for an SSK? I'd love to put the teensy inside my SSK but i want it to looks nice :D
I have been using these: https://www.adafruit.com/products/936 (https://www.adafruit.com/products/936)
They make the rear of the board look almost factory. You use a USB/B cable (a printer cable) to connect to the computer.
I have a guide that shows how you do it with a terminal board: http://straypoetry.com/ibm-model-m-keyboard/ (http://straypoetry.com/ibm-model-m-keyboard/) the process is similar with a non-terminal except you have to de-solder the old connector and solder the wires directly to the bottom of the existing controller.Show Image(http://straypoetry.com/wp-content/uploads/2014/11/IMG_0421.jpg)
If you do find a source for the mini usb I would be interested.Does anybody know where to get a mini-usb mount panel for an SSK? I'd love to put the teensy inside my SSK but i want it to looks nice :D
I have been using these: https://www.adafruit.com/products/936 (https://www.adafruit.com/products/936)
They make the rear of the board look almost factory. You use a USB/B cable (a printer cable) to connect to the computer.
I have a guide that shows how you do it with a terminal board: http://straypoetry.com/ibm-model-m-keyboard/ (http://straypoetry.com/ibm-model-m-keyboard/) the process is similar with a non-terminal except you have to de-solder the old connector and solder the wires directly to the bottom of the existing controller.Show Image(http://straypoetry.com/wp-content/uploads/2014/11/IMG_0421.jpg)
Interesting :) but I was looking for a mini-usb one as in this photos:Show Image(http://www.dubhead.at/media/pics/_DSC8402.jpg)
If you do find a source for the mini usb I would be interested.Does anybody know where to get a mini-usb mount panel for an SSK? I'd love to put the teensy inside my SSK but i want it to looks nice :D
I have been using these: https://www.adafruit.com/products/936 (https://www.adafruit.com/products/936)
They make the rear of the board look almost factory. You use a USB/B cable (a printer cable) to connect to the computer.
I have a guide that shows how you do it with a terminal board: http://straypoetry.com/ibm-model-m-keyboard/ (http://straypoetry.com/ibm-model-m-keyboard/) the process is similar with a non-terminal except you have to de-solder the old connector and solder the wires directly to the bottom of the existing controller.Show Image(http://straypoetry.com/wp-content/uploads/2014/11/IMG_0421.jpg)
Interesting :) but I was looking for a mini-usb one as in this photos:Show Image(http://www.dubhead.at/media/pics/_DSC8402.jpg)
Not really an issue with Soarer's part of this, but an interesting observation...my very first original Teensy++ 2.0 from back in the day appears to have quit on me this past weekend. It just repeatedly connects/disconnects itself from the host computer, sometimes showing up under the device name Soarer gave it, sometimes as a generic HID, sometimes as an unknown device. Does not stay connected for long, can get one keystroke in sometimes before it "unplugs" again, and more recently it just isn't detected at all.
Said Teensy was actually second hand, I'm fairly sure I got it from another member before Soarer even made his project known. I do have to wonder how it failed...
Tim
@mrfluffy
Here is a picture of the jumpers, hope it helps:Show Image(http://i.imgur.com/swVPRfN.jpg)
Let me know if there is anything else you need?
Thanks
Ross
There are some more pictures here http://imgur.com/ygtOTNA,c7cfqi9,C0AB2z9,7SGWtTh,DYflj2K,R1OFUPg,Y0iojyz,NU1PBuA,jqn23vi,4gUDPB9#0
So, I've been trying to come up with a solution. Fashioning my own SDL cable obviously won't work, but I'm questioning the possibility of soldering off the SDL port itself, testing continuity (I don't have a multimeter, so if one of you happened to know where each contact in the port goes where on the board, I'd be very happy. I'm sure I could improvise with a spare LED, a battery and some wire once I've got the port out, though), and soldering the cut-up end of a USB/PS2/whatever-as-ong-as-five-wires cable directly onto the board. I'd add some sort of strain relief along the way. The USB cable would, of course, go to an atmega converter. Obviously, I'd like to know if this would even be a viable option. I have never soldered before, but I know how to do it properly in theory. Five contacts on the board and another five on the converter, shouldn't be hard at all.
Teensies are used for PS3 custom firmware downgrades (console piracy is big here), so the price for them has been artificially inflated to well over 100USD. I can get an Arduino Pro Micro for much, much less. It's based on the Atmega 32U4, so in theory this should work as well and in the exact same fashion (save for different pin-outs) as the Teensy. I just want to have that confirmed, also.
Tim
@mrfluffy
Here is a picture of the jumpers, hope it helps:Show Image(http://i.imgur.com/swVPRfN.jpg)
Let me know if there is anything else you need?
Thanks
Ross
There are some more pictures here http://imgur.com/ygtOTNA,c7cfqi9,C0AB2z9,7SGWtTh,DYflj2K,R1OFUPg,Y0iojyz,NU1PBuA,jqn23vi,4gUDPB9#0
Sweet! Changed my jumpers to match yours, but still no response from the board. Definitely looks like a dud. Ross,if you want any keys or caps to complete your keyboard, let me know, and you can have them with pleasure. This keyboard is going into the project pile.
Does anybody have a link to the project box that someone made that has plugs to convert every type of keyboard?
Hi, I am new to this forum and thank you all for the great info. I recently pulled the trigger and picked up a 122 key with the RJ45 connector. I cleaned the thing and now am ready to adapt it to my computer. So I unplugged the RJ45 cable(well, have to take the board apart to do it, I mean, mine is probably the "permanent cable version", even though there is a connector inside the case) and disclosed 5 pins on the board that look like the following:
2 3 4
1 5
I am wondering which pin is which and hope someone can help me out! TIA!
Hi, I am new to this forum and thank you all for the great info. I recently pulled the trigger and picked up a 122 key with the RJ45 connector. I cleaned the thing and now am ready to adapt it to my computer. So I unplugged the RJ45 cable(well, have to take the board apart to do it, I mean, mine is probably the "permanent cable version", even though there is a connector inside the case) and disclosed 5 pins on the board that look like the following:
2 3 4
1 5
I am wondering which pin is which and hope someone can help me out! TIA!
The original post includes a diagram for the F-122, but I would not 100% guarantee that the M-122 is the same.Show Image(http://i.imgur.com/NNquq.jpg)
I am assuming that I would need to follow the right bottom diagram right?Right. And yes, it's the same for M-122 (at least in the 3 of them that I have here).
Right. And yes, it's the same for M-122 (at least in the 3 of them that I have here).
Oh, did not realize the two bottom diagrams are the same!
My "Right." was an answer to the right "right?" part of the question, not the "right bottom diagram" left to it.
Right. And yes, it's the same for M-122 (at least in the 3 of them that I have here).
Both bottom diagrams are the same.
The part number is 1391506. "Hecho por IBM en Mexico"
The part number is 1391506. "Hecho por IBM en Mexico"Before you start "doing damage" you need to ascertain whether this is a PS/2 model or a terminal.
The part number is 1391506. "Hecho por IBM en Mexico"If you have an SDL socket, I would leave it in place.
Like I said previously, importing is impossible.
Since the other thread does not seem to get much traffic, let me ask this question here again. Hope this is fine. I picked up an IBM Model F 5291 Terminal (bigfoot) Keyboard and am trying to adapt it. There are a couple pins I don't seem to be able to find on the teensy: Frame GND, Output, Strobe. Can someone tell me which pins these are? TIA!
So I am getting a Bigfoot from hwood34. Is there any chance of using either your capsense or a soarers converter with this thing? He gave me the model as 8257816.G'day,
The bigfoot (like the XT, which is similar in many ways) unfortunately has a built-in controller, so it can't really be swapped out, short of hacksawing the thing off and soldering some wires onto it.
That said, you have a couple of options now that you didn't use to;
1) The XTant is supposedly possible with the bigfoot; I think wcass was going to have some kits for that soon. You'd need a new controller though of course (mine would work). You might want to get in touch with wcass regarding that.
2) The bigfoot is unusual in that it's controller is basically not there at all; the cable hanging off the keyboard is just an interface to the special IBM capsense chip and little more. Soarer's controller (not converter!) can work with this directly with a little bit of effort. Quantalume (over at DT: http://deskthority.net/keyboards-f2/in-praise-of-bigfoot-t8956.html ) has got this working very satisfactorily. You might want to sign up for a DT account and send him a PM; he's a really nice guy and I'm sure he'd give you some info on how he's done it if the linked info (https://geekhack.org/index.php?topic=48950.0) in that thread isn't enough, seeing as Soarer seems to have gone AWOL.
The XTant option might be the nicest, as you can get a more modern layout out of it, but the Soarer's controller option would probably be the simplest to get going (no need to crack the sucker open and replace the pad card etc.).
Good luck!
Cheers,
xwhatsit
Since the other thread does not seem to get much traffic, let me ask this question here again. Hope this is fine. I picked up an IBM Model F 5291 Terminal (bigfoot) Keyboard and am trying to adapt it. There are a couple pins I don't seem to be able to find on the teensy: Frame GND, Output, Strobe. Can someone tell me which pins these are? TIA!
I was going to post in that thread but had other family stuff going on. Those pins are not the teensy, that is the pinout for the keyboard plug. Adapting a 5291 is a touch more involved. Let me report back.
Edit: I had this same discussion with xwhatsit. Turns out my keyboard is neither a standard XT, for a 5291, though it is in a bigfoot case.So I am getting a Bigfoot from hwood34. Is there any chance of using either your capsense or a soarers converter with this thing? He gave me the model as 8257816.G'day,
The bigfoot (like the XT, which is similar in many ways) unfortunately has a built-in controller, so it can't really be swapped out, short of hacksawing the thing off and soldering some wires onto it.
That said, you have a couple of options now that you didn't use to;
1) The XTant is supposedly possible with the bigfoot; I think wcass was going to have some kits for that soon. You'd need a new controller though of course (mine would work). You might want to get in touch with wcass regarding that.
2) The bigfoot is unusual in that it's controller is basically not there at all; the cable hanging off the keyboard is just an interface to the special IBM capsense chip and little more. Soarer's controller (not converter!) can work with this directly with a little bit of effort. Quantalume (over at DT: http://deskthority.net/keyboards-f2/in-praise-of-bigfoot-t8956.html ) has got this working very satisfactorily. You might want to sign up for a DT account and send him a PM; he's a really nice guy and I'm sure he'd give you some info on how he's done it if the linked info (https://geekhack.org/index.php?topic=48950.0) in that thread isn't enough, seeing as Soarer seems to have gone AWOL.
The XTant option might be the nicest, as you can get a more modern layout out of it, but the Soarer's controller option would probably be the simplest to get going (no need to crack the sucker open and replace the pad card etc.).
Good luck!
Cheers,
xwhatsit
Changed real name to xwhatsit for personal reasons
Thank you for answering my question. XTant does not seem an easy option for me. Guess I would follow the Soarer's controller option. That being said, I still don't understand how to wire a teensy to the keyboard. Could someone please write a short tutorial on how to get this going? I read that thread many times but still don't seem to be able to wire the teensy to the keyboard.Since the other thread does not seem to get much traffic, let me ask this question here again. Hope this is fine. I picked up an IBM Model F 5291 Terminal (bigfoot) Keyboard and am trying to adapt it. There are a couple pins I don't seem to be able to find on the teensy: Frame GND, Output, Strobe. Can someone tell me which pins these are? TIA!
I was going to post in that thread but had other family stuff going on. Those pins are not the teensy, that is the pinout for the keyboard plug. Adapting a 5291 is a touch more involved. Let me report back.
Edit: I had this same discussion with xwhatsit. Turns out my keyboard is neither a standard XT, for a 5291, though it is in a bigfoot case.So I am getting a Bigfoot from hwood34. Is there any chance of using either your capsense or a soarers converter with this thing? He gave me the model as 8257816.G'day,
The bigfoot (like the XT, which is similar in many ways) unfortunately has a built-in controller, so it can't really be swapped out, short of hacksawing the thing off and soldering some wires onto it.
That said, you have a couple of options now that you didn't use to;
1) The XTant is supposedly possible with the bigfoot; I think wcass was going to have some kits for that soon. You'd need a new controller though of course (mine would work). You might want to get in touch with wcass regarding that.
2) The bigfoot is unusual in that it's controller is basically not there at all; the cable hanging off the keyboard is just an interface to the special IBM capsense chip and little more. Soarer's controller (not converter!) can work with this directly with a little bit of effort. Quantalume (over at DT: http://deskthority.net/keyboards-f2/in-praise-of-bigfoot-t8956.html ) has got this working very satisfactorily. You might want to sign up for a DT account and send him a PM; he's a really nice guy and I'm sure he'd give you some info on how he's done it if the linked info (https://geekhack.org/index.php?topic=48950.0) in that thread isn't enough, seeing as Soarer seems to have gone AWOL.
The XTant option might be the nicest, as you can get a more modern layout out of it, but the Soarer's controller option would probably be the simplest to get going (no need to crack the sucker open and replace the pad card etc.).
Good luck!
Cheers,
xwhatsit
Changed real name to xwhatsit for personal reasons
Thank you for answering my question. XTant does not seem an easy option for me. Guess I would follow the Soarer's controller option. That being said, I still don't understand how to wire a teensy to the keyboard. Could someone please write a short tutorial on how to get this going? I read that thread many times but still don't seem to be able to wire the teensy to the keyboard.Since the other thread does not seem to get much traffic, let me ask this question here again. Hope this is fine. I picked up an IBM Model F 5291 Terminal (bigfoot) Keyboard and am trying to adapt it. There are a couple pins I don't seem to be able to find on the teensy: Frame GND, Output, Strobe. Can someone tell me which pins these are? TIA!
I was going to post in that thread but had other family stuff going on. Those pins are not the teensy, that is the pinout for the keyboard plug. Adapting a 5291 is a touch more involved. Let me report back.
Edit: I had this same discussion with xwhatsit. Turns out my keyboard is neither a standard XT, for a 5291, though it is in a bigfoot case.So I am getting a Bigfoot from hwood34. Is there any chance of using either your capsense or a soarers converter with this thing? He gave me the model as 8257816.G'day,
The bigfoot (like the XT, which is similar in many ways) unfortunately has a built-in controller, so it can't really be swapped out, short of hacksawing the thing off and soldering some wires onto it.
That said, you have a couple of options now that you didn't use to;
1) The XTant is supposedly possible with the bigfoot; I think wcass was going to have some kits for that soon. You'd need a new controller though of course (mine would work). You might want to get in touch with wcass regarding that.
2) The bigfoot is unusual in that it's controller is basically not there at all; the cable hanging off the keyboard is just an interface to the special IBM capsense chip and little more. Soarer's controller (not converter!) can work with this directly with a little bit of effort. Quantalume (over at DT: http://deskthority.net/keyboards-f2/in-praise-of-bigfoot-t8956.html ) has got this working very satisfactorily. You might want to sign up for a DT account and send him a PM; he's a really nice guy and I'm sure he'd give you some info on how he's done it if the linked info (https://geekhack.org/index.php?topic=48950.0) in that thread isn't enough, seeing as Soarer seems to have gone AWOL.
The XTant option might be the nicest, as you can get a more modern layout out of it, but the Soarer's controller option would probably be the simplest to get going (no need to crack the sucker open and replace the pad card etc.).
Good luck!
Cheers,
xwhatsit
Changed real name to xwhatsit for personal reasons
You could try and message Quantalume over at DT.
I am not sure that that functionality is available with this firmware setup. What you are refering to is usually called dual role keys. I have used it on my JD40 with using the space bar as Function. The biggest issue with it is when you tap for space, it registers on key up not key down.
I have a WYSE WY70. It uses the 4P4C/RJ10 connector. Will I be able to use a Teensy to convert it to a USB? I am not very knowledgeable on any of this and am at a complete loss on how to proceed.
with a 4P4C and I have not yet been able to get it running.
Perhaps you will be more knowledgeable or lucky ....
Have you thought about hand wiring the board?
Soarer has already created a solution for WYSE boards. https://geekhack.org/index.php?topic=52597.0
The board is virtually new and I do not want to go that far.
And yes, I tried Soarer's Wyse converter with no luck.
Waiting for device:..........
Listening:
wEE
remaining: FFFC
Keyboard ID: 0000
Code Set: 1
Mode: PC/XT
R05
...and nothing else--no responses from keypresses, nothing--so I'm wondering what exactly is going on here.Of note: It looks like hid_listen at least *recognizes* that a keyboard is plugged in, and the keyboards start to heat up a little when I plug them in. Hopefully I'm not cooking them--pretty sure I had the Teensy wiring correct--but I'm at a loss here.Double-check that wiring. Especially the +5V and GND lines. You might well have fried your keyboards already. "Heating up" is not something they should do.
I am going to install a couple pull up resistors on my soarer modded XT. Do I install them in the middle of the cable, or between the teensy and the XT pcb?
I am going to install a couple pull up resistors on my soarer modded XT. Do I install them in the middle of the cable, or between the teensy and the XT pcb?
Between the pins of teensy.
Do I install them in the middle of the cable, or between the teensy and the XT pcb?
Do I install them in the middle of the cable, or between the teensy and the XT pcb?
Looking for a photo, I don't see what I need.
One leg of each resistor connects to +5V (aka VCC) and the other to clock or data.
Depending on how you are putting them all together, it can get very congested. At first, I did not realize that there are 2nd power and ground connections at each end of the Teensy, so you can use that second one for the resistors and get a little more elbow room at the other end.
Also, if you are using thin solid wire, I have been able to push both wire and the resistor leg through in one direction. If you are using braided wire it probably won't work.
Hello! I made a post a couple of weeks ago about an IBM Model M terminal keyboard. Turned out it wasn't terminal, which is better. And it turns out I can, due to being in the right place and the right time and knowing the right person, get an SDL to PS2 cable. Huzzah! No need to buy a soldering iron and practice on scrap first! I get that cable in about a month, though, the wait is killing me.
In the meanwhile, I've found another good discovery. 10 US dollars. IBM Beam Spring. The grand-daddy of all IBM's. It's either a 3101 or a 3727 model, but I can't tell from the pictures. All I know is that it has a 2-row DB15 connection.
Now, here's the thing. This board is dirty and might have a stuck key, if the picture the seller posted is that of the actual keyboard they have. Heck, I'm not even sure if it's in working condition. Either way, some distilled water, peroxide and elbow grease, and I'm putting that thing on a shelf assuming it's not functional. That'd still be 10 dollars well spent in my opinion. I'm buying it as soon as I can.
But let's assume that it is actually working. These guys sold me an impeccable, barely-used, working Model M for 10 dollars, so it doesn't seem to be completely out of the question to me. Is there any way to interface this thing to PS/2 (I'm assuming it's easier to interface to PS/2 than USB, but I'd use either)? Something like Soarer's converter, or would Soarer's work in this case? I can get my hands on soldering equipment and a limited variety of micro-controllers, but not much more than that.
There's been a lot of talk about how to get old beam spring boards to work using xwhatsit's controller last year on DT.
xwhatsit's controller is a true marvel, with great both hard- and software. And you don't have to destroy anything in your board to make it work -- you just plug the original controller out, plug the new controller in. It's fully reversible.
I got this one in a very rusty condition (on the inside) and got it to work nicely with some work:Show Image(http://deskthority.net/resources/image/16687)
Thread about the restoration:
http://deskthority.net/workshop-f7/restoring-my-ibm-beam-spring-keyboard-from-ibm-3278-a02-terminal-t8515.html?hilit=3278
There's been a lot of talk about how to get old beam spring boards to work using xwhatsit's controller last year on DT.
xwhatsit's controller is a true marvel, with great both hard- and software. And you don't have to destroy anything in your board to make it work -- you just plug the original controller out, plug the new controller in. It's fully reversible.
I got this one in a very rusty condition (on the inside) and got it to work nicely with some work:
Thread about the restoration:
http://deskthority.net/workshop-f7/restoring-my-ibm-beam-spring-keyboard-from-ibm-3278-a02-terminal-t8515.html?hilit=3278
Hey ;D
I've recently got in my hands a Model F for a couple of bucks (pics below! [1]), I'd love to adapt it, according to what I've seen I could use Soarer's converter or xwhatsit's. Which one do you guys think is the best? I ordered a Teensy recently to try and make this one, however I also found this converter on ebay [2], anyone bought something from him? is it safe? Nothing I'd ever make will look as neat so if it works I'd probably order it :)
What are the differences between [2] and [3]? I think the one I'll need is [2], anyone can confirm? there are pics on the album of my plug [1].
Also, is there any way to check if the keyboard internals are working before spending on the convertor?
[1] http://imgur.com/a/r55td
[2] http://www.ebay.com/itm/281476427201
[3] http://www.ebay.com/itm/271644933588
I'd love to adapt it, according to what I've seen I could use Soarer's converter or xwhatsit's. Which one do you guys think is the best? I ordered a Teensy recently to try and make this one, however I also found this converter on ebay [2], anyone bought something from him? is it safe? Nothing I'd ever make will look as neat so if it works I'd probably order it :)
What are the differences between [2] and [3]? I think the one I'll need is [2], anyone can confirm? there are pics on the album of my plug [1].
Also, is there any way to check if the keyboard internals are working before spending on the convertor?
[1] http://imgur.com/a/r55td
[2] http://www.ebay.com/itm/281476427201
[3] http://www.ebay.com/itm/271644933588
wF8 W085wF8 W085wF8 W085
R06 wFE
R06 wFE
R06 wFE
R06 wFE
R06 wFE
R06 wFE
I would boot the computer with a conventional PS/2 keyboard connected.
Then connect the subject keyboard to the Teensy and plug in the USB from the Teensy "hot" and wait for the computer to see it.
If it did not work from that point, I would then try re-booting the computer with the Teensy connected.
The computer can only "see" 1 Teensy, in any case. I usually start "cold" with no USB keyboards and plug in the Teensy USB "hot" the first time.
I had a similar same problem with a Raspberry Pi and a F122. Maybe the keyboard takes more than 500mA from the USB port. Do you have a USB3.0 port or a powered hub to test?
Also, maybe the data + clock voltage are too low on the AT side? Is it a keyboard where it's worth having pull-up resistors?
Actually, these guys state that the keyboard will not work with a USB converter, but they're probably not talking about Soarer's since it's able to convert protocols:
http://www.twindata.com/CLI/clikeyboard.htm
but as this is one from orihalcon's eBay I can't. I'm considering returning it and building my own instead,
$ sudo ./scinfo
scinfo: looking for Soarer's Converter: found
scinfo: sending info request: ok
device: ok
Protocol Version: v1.00
Code Version: v1.12
Max Settings Version: v1.01
Current Settings Version: v0.00
SRAM Size: 2560 bytes
SRAM Free: 1809 bytes
EEPROM Size: 1024 bytes
EEPROM Free: 1020 bytes
Looks right to me. :thumb:
It's deprecated, it should still work.
So the docs say not to use FAKE_01 thru FAKE_19 because they are deprecated. Use EXTRA_* instead. But I don't see a replacement for FAKE_01 (B0) in the current table. This corresponds to the top-left nav cluster key on my PC-122 (where Insert usually is). The docs seem to skip over B0 and go right from AF to B1.
What EXTRA code do I use instead of FAKE_01? Am I missing something? Also, it looks like FAKE_18 (C1) is also missing from the main code listing.
So the docs say not to use FAKE_01 thru FAKE_19 because they are deprecated. Use EXTRA_* instead. But I don't see a replacement for FAKE_01 (B0) in the current table. This corresponds to the top-left nav cluster key on my PC-122 (where Insert usually is). The docs seem to skip over B0 and go right from AF to B1.
What EXTRA code do I use instead of FAKE_01? Am I missing something? Also, it looks like FAKE_18 (C1) is also missing from the main code listing.
The top left key on the numpad of a 122 key terminal keyboard is ESC by default. I'm using that to remap it (to NumLock), and it works. If your PC-122 (?) is a mode 3 board (i.e. a terminal board), it should work for you, too.
Where on the keyboard is FAKE_18?
Ah, I should read better.
You're probably right with your theory. I have both an IBM F-122 and an M-122, but they both use the terminal protocol, and I didn't need the FAKE_xx codes to fully convert them. The key on the upper left of the nav cluster on them just gives me INSERT like it's supposed to. I guess Unicomp might have come up with some different, special codes for their PC-122 boards that Soarer didn't consider.
Ah, I should read better.
You're probably right with your theory. I have both an IBM F-122 and an M-122, but they both use the terminal protocol, and I didn't need the FAKE_xx codes to fully convert them. The key on the upper left of the nav cluster on them just gives me INSERT like it's supposed to. I guess Unicomp might have come up with some different, special codes for their PC-122 boards that Soarer didn't consider.
Having owned different Model Ms and Fs I can reassure you that there are a lot of weird models out there which send weird scancodes. I suspect that during these early computing days when a lot of hardware was still fairly proprietary, there would be big organizations ordering like 10000 keyboards with a few unique scancodes that worked only on their software.
So I always do HID test. And I am often surprised.
Hey Guys
I have a couple of Arduinos but was never able to make them work.
I flashed them with great difficulty, but if anyone can suggest an easier way please tell. Dorkvader linked me to some rather complex instructions, already 95% refined by DV from the original discussion threads, but still hard enough to follow that I can't remember what I did.
Then I got soarer on them, but couldn't make progress after that. Windows Device Manager detects Soarer's Keyboard Converter. The red light is on, showing power is recieved. scwr.exe shows that Soarer was indeed flashed correctly. My multimeter on DC voltage shows that voltage between vcc and gnd pins is 3.52v with the keyboard connected, and 4.55v without the keyboard.
As reported here. https://geekhack.org/index.php?topic=71975.0 (https://geekhack.org/index.php?topic=71975.0)
Findecanor has recommended that I short the J1 pins, but before I do anything that involves shorting anything I'd like to hear how other people did it!
Hey Guys
I have a couple of Arduinos but was never able to make them work.
I flashed them with great difficulty, but if anyone can suggest an easier way please tell. Dorkvader linked me to some rather complex instructions, already 95% refined by DV from the original discussion threads, but still hard enough to follow that I can't remember what I did.
Then I got soarer on them, but couldn't make progress after that. Windows Device Manager detects Soarer's Keyboard Converter. The red light is on, showing power is recieved. scwr.exe shows that Soarer was indeed flashed correctly. My multimeter on DC voltage shows that voltage between vcc and gnd pins is 3.52v with the keyboard connected, and 4.55v without the keyboard.
As reported here. https://geekhack.org/index.php?topic=71975.0 (https://geekhack.org/index.php?topic=71975.0)
Findecanor has recommended that I short the J1 pins, but before I do anything that involves shorting anything I'd like to hear how other people did it!
The pro micro is the only converter I used so far. I used it on my AT, F122 and XT. Worked with all of them (even if the first time it was hard to find how to flash it). Some people said sometime you need a pullup resistor if your cable is very long, but I never had this issue. What keyboard are you trying to use?
I bought a converter from orihalcon, and want to do major changes to the mapping from a Maltron two-handed keyboard. I have a single question to start with (I will have more! Oh yes, I will have many, many more!):
Is it easy to change Soarer's converter back to its default setting (i.e. wipe out all of the cruft -- mappings and macros) in memory? Or is it a matter of rewriting all of the settings?
I just want a format c: command for the thing (ignoring the firmware, of course), and start fresh. :))
My search skills have failed me, so hope I can find an answer here. Is there a pinout for the Arduino Leonardo? I managed to get one of mine flashed with Soarer but I have no idea which pins to use.You may have to pull up a teensy pinout and the Leonardo one side by side and map it out.
It's alive! This is the first post I'm typing on my 1987 Model M! :thumb: I got the din socket in the mail yesterday and soldered all the parts together 10 minutes ago. It needs some fine tuning to work with the German layout but I'm quite happy it works and I want to enjoy the sound of it for a while before I do anything else with it.
After plugging in the keyboard for the 1st time it kept repeating the keys I pressed, but that problem seems to be gone now. The second keyboard still shows up in the device manager but apparently that doesn't cause any problems.
Been using it for a while now with my XT Model F and loving it! Now, if I could only get it to work with my KVM switch, it would be the best thing ever. It just won't work though, I'm assuming it's because of how it achieves full NKRO. If there's a way to disable that I would be perfectly happy with the 6KRO USB provides anyway.
unfortunately Soarer disappeared last year
unfortunately Soarer disappeared last year
I think it has been closer to 2 years. I just hope that he got a new girl friend and went off the grid in Pago Pago.
Maybe check the keyboard itself.
Maybe check the keyboard itself.
How so?
Halvar, thank you very much! And these are very good news for me. This means I could possibly use the Model F XT in the near future :-)
I´m strongly considering ordering such an adapter now. I only hope that the Keyboard still works. I never had the opportunity to test it. But it´s worth a shot. For me it´s the best sounding Keyboard I´ve ever heard and I´m happy I never threw it away.
The fact that the Soarer Firmware is very flexible should make it possible to map every Key I need on it. I was searching for a few weeks now for a new Keyboard, because my Acer with Alps Switches (it´s around 20 years old now) starts to make problems. And in the Office I´m using a Cherry G80-3000 which is also over 20 years old now (using and Adapter from DIN to PS/2 to USB) and it´s still working like a champ. My daily usage keyboards never had Windows / Menu Keys and since I can´t find a classic layout on the new Keyboards, I could even go wild and back even further in thime by using the Model F XT (I also have an Model F AT and a Model M, but it´s not the same).
Thanks again for your help, it´s highly appreciated :-)
I don't know if this helps you or not, but you always connect the keyboard to the converter first, and then the converter to the computer. The converter software doesn't support hot-plugging on the PS/2 side at all. If you do it in the right order, what exactly does hid_listen show you when the converter is connected to the PC?
Maybe a short-circuit that overloads the USB port and/or the teensy? The HID device should always be visible from the PC.
Did you recheck the wiring? Could some soldering point be in contact with another or something like that?
I haven't (so perhaps I shouldn't answer) but I remember Soarer recommending the Teensy++ if you want more EEPROM space for larger maps, so I'm pretty sure it will work.
[nels@ella configs]$ scwr mtdnelson122.scb
scwr: error while loading shared libraries: libusb-0.1.so.4: cannot open shared object file: No such file or directory
[nels@ella configs]$ sudo dnf info libusb
Last metadata expiration check: 0:04:58 ago on Tue Jun 21 20:54:02 2016.
Installed Packages
Name : libusb
Arch : x86_64
Epoch : 1
Version : 0.1.5
Release : 6.fc23
Size : 66 k
[nels@ella ~]$ sudo dnf list libusb
Last metadata expiration check: 2:33:42 ago on Wed Jun 22 20:13:31 2016.
Installed Packages
libusb.x86_64 1:0.1.5-6.fc23 @koji-override-0
Available Packages
libusb.i686 1:0.1.5-6.fc23 fedora
[nels@ella ~]$ sudo dnf install libusb.i686
nels@ella configs]$ scwr mtdnelson122.scb
scwr v1.10
scwr: looking for Soarer's Converter: found
scwr: reading file: 6 bytes: ok
scwr: sending info request: ok
device: ok
protocol version check: converter=1.00, scwr=1.00: ok
settings version check: converter=1.01, file=1.01: ok
settings length check: max=1018, file=4 bytes: ok
scwr: sending write request for 4 bytes: ok
device: ok
device: ready
scwr: sending 4 bytes: ok
device: ok
device: complete
Hi, I purchased a Soarer's converter for my F 122 on eBay. When I plugged the adapter with the keyboard connected to it to the computer. There was a USB Power Surge notification. Does anybody has an idea if it's the converter problem or it's my keyboard problem. Is there any way to test the converter separately?
I'd like to do convert my g80-11900 from ps2 to usb using this converter method.
Hello, i recently did a soarers convert with a teensy 2.0 on an ibm model m, but for some reason whenever i click the 8* button it spams itself until i click another key, is there a software problem or a problem in the actual keyboard?
I am incredibly bad when it comes to anything programming related. i just got my converter, and I've followed the instructions for remapping keys, but when i try to drag the .sc file into scaswr.bat, it only puts it in the same folder, not actually uploading it. I am using notepad, if that means anything. Thanks! This is probably glaringly obvious.
Hey Soarer, which converter will I need for a WY-50 ASCII Terminal Keyboard?
Hi guys. Just installed this for my Model F XT. Was surprised how easy it was to load. Now looking at remapping options for the XT's layout. Do you guys know any resources for this? Looking to see what other people have done with their XT to make them easier to use
Hi,What does hidlisten tell you?
So I'm trying to convert a 1990 model M I have and I've installed soarer's firmware but things aren't working properly unfortunately. A number of keys are sending unidentified signals to the computer, and F1-F4 sends the F12 signal. Could anyone help me figure this out? I can't seem to get anywhere. Thanks.
Waiting for device:
Listening:
r62 +93
rF0 r62 -93
r5F +73
rF0 r5F -73
r57 +72
rF0 r57 -72
r5E +BD
rF0 r5E -BD
r5E +BD r56 +BC rF0 r5E -BD
rF0 r56 -BC
r4F +BB
rF0 r4F -BB
r47 +BA
rF0 r47 -BA
r3F +B9
rF0 r3F -B9
r37 +B8
rF0 r37 -B8
r2F +B7
rF0 r2F -B7
r27 +8C
rF0 r27 -8C
r1F +B2
rF0 r1F -B2
r17 +B0
rF0 r17 -B0
r0F +67
rF0 r0F -67
r07 +45
rF0 r07 -45
r08 +68
rF0 r08 -68
r6F +C1
rF0 r6F -C1
r6E +C0
rF0 r6E -C0
r67 +8B
rF0 r67 -8B
r66 +2A
rF0 r66 -2A
r55 +2E
rF0 r55 -2E
r4E +2D
rF0 r4E -2D
r45 +27
rF0 r45 -27
r46 +26
rF0 r46 -26
r3E +25
rF0 r3E -25
r3D +24
rF0 r3D -24
r36 +23
rF0 r36 -23
r2E +22
rF0 r2E -22
r25 +21
rF0 r25 -21
r26 +20
rF0 r26 -20
r1E +1F
rF0 r1E -1F
r16 +1E
rF0 r16 -1E
r0E +35
rF0 r0E -35
r6D +85
rF0 r6D -85
r65 +BF
rF0 r65 -BF
r64 +8A
rF0 r64 -8A
r5C +B5
rF0 r5C -B5
r5B +30
rF0 r5B -30
r54 +2F
rF0 r54 -2F
r4D +13
rF0 r4D -13
r44 +12
rF0 r44 -12
r43 +0C
rF0 r43 -0C
r3C +18
rF0 r3C -18
r35 +1C
rF0 r35 -1C
r2C +17
rF0 r2C -17
r2D +15
rF0 r2D -15
r24 +08
rF0 r24 -08
r1D +1A
rF0 r1D -1A
r15 +14
rF0 r15 -14
r0D +2B
rF0 r0D -2B
r5A +28
rF0 r5A -28
r52 +34
rF0 r52 -34
r4C +33
rF0 r4C -33
r4B +0F
rF0 r4B -0F
r42 +0E
rF0 r42 -0E
r3B +0D
rF0 r3B -0D
r33 +0B
rF0 r33 -0B
r34 +0A
rF0 r34 -0A
r2B +09
rF0 r2B -09
r23 +07
rF0 r23 -07
r1B +16
rF0 r1B -16
r1C +04
rF0 r1C -04
r14 +E0
rF0 r14 -E0
r63 +92
rF0 r63 -92
r59 +E5
rF0 r59 -E5
r4A +38
rF0 r4A -38
r49 +37
rF0 r49 -37
r41 +36
rF0 r41 -36
r3A +10
rF0 r3A -10
r31 +11
rF0 r31 -11
r32 +05
rF0 r32 -05
r2A +19
rF0 r2A -19
r21 +06
rF0 r21 -06
r22 +1B
rF0 r22 -1B
r1A +1D
rF0 r1A -1D
r12 +E1
rF0 r12 -E1
r6A +89
rF0 r6A -89
r60 +BE
rF0 r60 -BE
r61 +64
rF0 r61 -64
r58 +39 wED W105wED W105wED rFA w04 rFA
rF0 r58 -39
r39 +B3
rF0 r39 -B3
r29 +2C
rF0 r29 -2C
r19 +B1
rF0 r19 -B1
r11 +E2
rF0 r11 -E2
Device disconnected.
Waiting for new device:...........
Waiting for device:
Listening:
R04 wFE
rF0 r76
r77 +53 wED W105wED W105wED R06 R106!!00rFA +00
wED rFA w01 rFA rF0 r77 -53
r7E +47 wED W105wED W105wED rFA w00 rFA
rF0 r7E -47
r84 +C2
rF0 r84 -C2
r6C +5F
rF0 r6C -5F
r75 +60
rF0 r75 -60
r7D +61
rF0 r7D -61
r7C +55
rF0 r7C -55
r6B +5C
rF0 r6B -5C
r73 +5D
rF0 r73 -5D
r74 +5E
rF0 r74 -5E
r69 +59
rF0 r69 -59
r72 +5A
rF0 r72 -5A
r7A +5B
rF0 r7A -5B
r79 +57
rF0 r79 -57
r70 +62
rF0 r70 -62
r71 +63
rF0 r71 -63
So the IBM Model M I'm trying to convert uses the RT connector. Soarer's converter is supposed to work with RT, but I can't get it to do so. How do you get Soarer's firmware to work with the RT model M?
Waiting for device:..............
Listening:
wEE rEE wF2 rFA rAB r83
remaining: 0026
26@0008 macros
layerdefs: 00
max_layer: 00
total_macros: 03
alloc ok.
Keyboard ID: AB83
Code Set: 2 (extended)
Mode: AT/PS2
wED rFA w02 rFA
I posted, pretty extensively, the results of HID listen on the previous page. Here are just the results of plugging the keyboard in, though: http://imgur.com/a/UKzwP
I posted, pretty extensively, the results of HID listen on the previous page. Here are just the results of plugging the keyboard in, though: http://imgur.com/a/UKzwP
It looks to me like Soarer's does not see a keyboard connected. Keyboard ID:0000 and no "Mode:" line at all. Exactly what are your hardware connections between the keyboard controller and the Teensy(or whatever)?
PancakeMSTR,
Are you sure using the latest version of firmware? According to version histroy only 1.11+ support RT.
And what model number is your keyboard? and posting pics of your converter would be useful to check your wiring and soldering doubly by others.
The ESC key doesn't work, though numlock thinks it's ESC. A few other problems as well. Generally everything to the right of F12 is ****ed up.
The ESC key doesn't work, though numlock thinks it's ESC. A few other problems as well. Generally everything to the right of F12 is ****ed up.
Remember, Soarer originally began the project to use an IBM F AT in a conventional configuration, so Escape being on the numpad is natural.
I have never tried to use a Soarer's on a conventional PS/2-ANSI keyboard, what would be the point?
At any rate, it generally works out of the box converting non-ANSI layouts to ANSI.
However, I don't know how to fix numpad "-"
However, I don't know how to fix numpad "-"
"EXTRA_SYSRQ" is one of the particularly obtuse ones.
However, I don't know how to fix numpad "-"
"EXTRA_SYSRQ" is one of the particularly obtuse ones.
The HID_Listen Hex code pointed to some language thing but I couldn't get the numpad "-" working even from that. It's the final enigma. I'll look into that.
remapblock
LANG_x PAD_MINUS
endblock
For the numpad "-", wouldn't something like below resolve this? (where x=the language number)Code: [Select]remapblock
LANG_x PAD_MINUS
endblock
Great converter! Works great on this old DIN 5-pin keyboard I salvaged. Thanks a lot!
One question though, has anybody ever had issues with the right control (which reads "Enter" on this keyboard actually) releasing too late when held for a long time? I wonder if this is a thing about the keyboard itself or if this is something that the firmware can somehow solve...
What happens is that after pressing down RCTRL for >1s or so, the key up event is delayed ~250ms. If I open up hid_listen, I can see the delay there, too (which leads me to think that maybe the keyboard is just sending it late?...)
Great converter! Works great on this old DIN 5-pin keyboard I salvaged. Thanks a lot!
One question though, has anybody ever had issues with the right control (which reads "Enter" on this keyboard actually) releasing too late when held for a long time? I wonder if this is a thing about the keyboard itself or if this is something that the firmware can somehow solve...
What happens is that after pressing down RCTRL for >1s or so, the key up event is delayed ~250ms. If I open up hid_listen, I can see the delay there, too (which leads me to think that maybe the keyboard is just sending it late?...)
Does sound like a feature of the keyboard's controller, especially if it is designed for a specific system.
Does it do it for any other keys?
rF0 r58 -E4 uE4
r58 +E4 dE4
rF0 r58 -E4 uE4 r58 +E4 dE4
rF0 r58 -E4 uE4
rE0 r14 +E0 dE4
rE0 rF0 r14 -E0 uE4
which corresponds to the scancode translation table (https://geekhack.org/www.hiemalis.org/~keiji/PC/scancode-translate.pdf).too bad that there's no source.
too bad that there's no source.
Source would have solved a lot of issues I think :(
ESC
r76 +29 d29
rF0 r76 -29 u29
F13
r08 +68 d68
rF0 r08 -68 u68
ESC NUM_LOCK
r76 +29 d53 wED rFA w05 rFA
rF0 r76 -29 u53
F13 ESC
r08 +68 d29
rF0 r08 -68 u29
Hi guys,
I'm testing the Soaror's Converter and it's working fine with AT keyboards. But none of my XT keyboards are working. Just a lot of R05 and R06 errors...
Do you have any sugestion? All the keyboards work fine in various IBM XT Clones I have.
Thank you.
(Attachment Link)
I'd try adding pull-up resistors to the clock & data wires.
No way, even with resistors...
I've found an AT2XT adaptor here. Soaror's Converter recoginizes an AT keyboard with the AT2XT adaptor as a XT keyboard (as expected), and it works perfectly!
So, I've gotten very curious to understand why the AT2XT adaptor works but the original XT keyboard doesn't.
Trying to remember how to use an osciloscope, I've gotten some waveforms. The first picture contains the AT2XT waveforms when "a" and "s" are pressed in the keyboard. It looks compatible with XT IBM Keyboard Protocol.
(Attachment Link)
The second picture contains the XT pure keyboard waveforms when "a" and "s" are pressed. The clock seems to be higher and we can see only 8 bits, not 9 as it was supposed to be.
(Attachment Link)
I guess that's why the Soaror's converter is not recognizing my XT keyboards.
Do you thing I will have to write a specific code for converting my XT keyboards or it may exist another solution?
No way, even with resistors...
I've found an AT2XT adaptor here. Soaror's Converter recoginizes an AT keyboard with the AT2XT adaptor as a XT keyboard (as expected), and it works perfectly!
So, I've gotten very curious to understand why the AT2XT adaptor works but the original XT keyboard doesn't.
Trying to remember how to use an osciloscope, I've gotten some waveforms. The first picture contains the AT2XT waveforms when "a" and "s" are pressed in the keyboard. It looks compatible with XT IBM Keyboard Protocol.
(Attachment Link)
The second picture contains the XT pure keyboard waveforms when "a" and "s" are pressed. The clock seems to be higher and we can see only 8 bits, not 9 as it was supposed to be.
(Attachment Link)
I guess that's why the Soaror's converter is not recognizing my XT keyboards.
Do you thing I will have to write a specific code for converting my XT keyboards or it may exist another solution?
What model is actually your "XT pure keyboard"?
It waveform has no start bit which is expected in original XT. You can see this post for normal XT signal.
https://geekhack.org/index.php?topic=62168.msg1469706#msg1469706
And is this AT2XT adapter you are refering to?
http://www.vcfed.org/forum/showthread.php?26426-AT2XT-keyboard-converter
//Brazilian XT Keyboard to USB Converter 1.0 - 8 bits protocol (no start bit).
//Developed by Leandro Piva (pivanow at gmail dot com), from Brazil, for Teensy 2.0++ using Teensyduino.
//Tested and working fine with keyboards presenting 17.5kHz clock. Higher clock keyboards may suffer with clock pulses loss.
//Free for copy, re-use and distribution.
#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n))
#define CPU_16MHz 0x00
int dataPin = 0; // Data line connected to PD0 in Teensy 2.0++
int clockPin = 1; // Clock line connected to PD1 in Teensy 2.0++
int clockDown = 0;
int count = 0;
byte data = 00;
void setup() {
CPU_PRESCALE(CPU_16MHz);
pinMode(dataPin, INPUT);
pinMode(clockPin, INPUT);
Serial.begin(2000000); // Use Serial Monitor from Arduino IDE (with Teensyduino) to see the scancodes sent from keyboard
}
void loop() {
if(digitalRead(clockPin) == LOW) {
clockDown = 1;
}
if(digitalRead(clockPin) == HIGH && clockDown == 1 && count <= 7) {
clockDown = 0;
if(digitalRead(dataPin) == HIGH) {
bitSet(data,count);
}
count++;
}
if(count == 8){
Serial.println(data);
// Scan-code Set 1 structure for sending USB keyboard command to the computer.
switch(data){
case 1: Keyboard.press(KEY_ESC); break;
case 2: Keyboard.press(KEY_1); break;
case 3: Keyboard.press(KEY_2); break;
case 4: Keyboard.press(KEY_3); break;
case 5: Keyboard.press(KEY_4); break;
case 6: Keyboard.press(KEY_5); break;
case 7: Keyboard.press(KEY_6); break;
case 8: Keyboard.press(KEY_7); break;
case 9: Keyboard.press(KEY_8); break;
case 10: Keyboard.press(KEY_9); break;
case 11: Keyboard.press(KEY_0); break;
case 12: Keyboard.press(KEY_MINUS); break;
case 13: Keyboard.press(KEY_EQUAL); break;
case 14: Keyboard.press(KEY_BACKSPACE); break;
case 15: Keyboard.press(KEY_TAB); break;
case 16: Keyboard.press(KEY_Q); break;
case 17: Keyboard.press(KEY_W); break;
case 18: Keyboard.press(KEY_E); break;
case 19: Keyboard.press(KEY_R); break;
case 20: Keyboard.press(KEY_T); break;
case 21: Keyboard.press(KEY_Y); break;
case 22: Keyboard.press(KEY_U); break;
case 23: Keyboard.press(KEY_I); break;
case 24: Keyboard.press(KEY_O); break;
case 25: Keyboard.press(KEY_P); break;
case 26: Keyboard.press(KEY_LEFT_BRACE); break;
case 27: Keyboard.press(KEY_RIGHT_BRACE); break;
case 28: Keyboard.press(KEY_ENTER); break;
case 29: Keyboard.press(MODIFIERKEY_CTRL); break;
case 30: Keyboard.press(KEY_A); break;
case 31: Keyboard.press(KEY_S); break;
case 32: Keyboard.press(KEY_D); break;
case 33: Keyboard.press(KEY_F); break;
case 34: Keyboard.press(KEY_G); break;
case 35: Keyboard.press(KEY_H); break;
case 36: Keyboard.press(KEY_J); break;
case 37: Keyboard.press(KEY_K); break;
case 38: Keyboard.press(KEY_L); break;
case 39: Keyboard.press(KEY_SEMICOLON); break;
case 40: Keyboard.press(KEY_QUOTE); break;
case 41: Keyboard.press(KEY_TILDE); break;
case 42: Keyboard.press(MODIFIERKEY_SHIFT); break;
case 43: Keyboard.press(KEY_BACKSLASH); break;
case 44: Keyboard.press(KEY_Z); break;
case 45: Keyboard.press(KEY_X); break;
case 46: Keyboard.press(KEY_C); break;
case 47: Keyboard.press(KEY_V); break;
case 48: Keyboard.press(KEY_B); break;
case 49: Keyboard.press(KEY_N); break;
case 50: Keyboard.press(KEY_M); break;
case 51: Keyboard.press(KEY_COMMA); break;
case 52: Keyboard.press(KEY_PERIOD); break;
case 53: Keyboard.press(KEY_SLASH); break;
case 54: Keyboard.press(MODIFIERKEY_RIGHT_SHIFT); break;
case 55: Keyboard.press(KEYPAD_ASTERIX); break;
case 56: Keyboard.press(MODIFIERKEY_ALT); break;
case 57: Keyboard.press(KEY_SPACE); break;
case 58: Keyboard.press(KEY_CAPS_LOCK); break;
case 59: Keyboard.press(KEY_F1); break;
case 60: Keyboard.press(KEY_F2); break;
case 61: Keyboard.press(KEY_F3); break;
case 62: Keyboard.press(KEY_F4); break;
case 63: Keyboard.press(KEY_F5); break;
case 64: Keyboard.press(KEY_F6); break;
case 65: Keyboard.press(KEY_F7); break;
case 66: Keyboard.press(KEY_F8); break;
case 67: Keyboard.press(KEY_F9); break;
case 68: Keyboard.press(KEY_F10); break;
case 69: Keyboard.press(KEY_NUM_LOCK); break;
case 70: Keyboard.press(KEY_SCROLL_LOCK); break;
case 71: Keyboard.press(KEYPAD_7); break;
case 72: Keyboard.press(KEYPAD_8); break;
case 73: Keyboard.press(KEYPAD_9); break;
case 74: Keyboard.press(KEYPAD_MINUS); break;
case 75: Keyboard.press(KEYPAD_4); break;
case 76: Keyboard.press(KEYPAD_5); break;
case 77: Keyboard.press(KEYPAD_6); break;
case 78: Keyboard.press(KEYPAD_PLUS); break;
case 79: Keyboard.press(KEYPAD_1); break;
case 80: Keyboard.press(KEYPAD_2); break;
case 81: Keyboard.press(KEYPAD_3); break;
case 82: Keyboard.press(KEYPAD_0); break;
case 83: Keyboard.press(KEYPAD_PERIOD); break;
case 87: Keyboard.press(KEY_F11); break;
case 88: Keyboard.press(KEY_F12); break;
case 129: Keyboard.release(KEY_ESC); break;
case 130: Keyboard.release(KEY_1); break;
case 131: Keyboard.release(KEY_2); break;
case 132: Keyboard.release(KEY_3); break;
case 133: Keyboard.release(KEY_4); break;
case 134: Keyboard.release(KEY_5); break;
case 135: Keyboard.release(KEY_6); break;
case 136: Keyboard.release(KEY_7); break;
case 137: Keyboard.release(KEY_8); break;
case 138: Keyboard.release(KEY_9); break;
case 139: Keyboard.release(KEY_0); break;
case 140: Keyboard.release(KEY_MINUS); break;
case 141: Keyboard.release(KEY_EQUAL); break;
case 142: Keyboard.release(KEY_BACKSPACE); break;
case 143: Keyboard.release(KEY_TAB); break;
case 144: Keyboard.release(KEY_Q); break;
case 145: Keyboard.release(KEY_W); break;
case 146: Keyboard.release(KEY_E); break;
case 147: Keyboard.release(KEY_R); break;
case 148: Keyboard.release(KEY_T); break;
case 149: Keyboard.release(KEY_Y); break;
case 150: Keyboard.release(KEY_U); break;
case 151: Keyboard.release(KEY_I); break;
case 152: Keyboard.release(KEY_O); break;
case 153: Keyboard.release(KEY_P); break;
case 154: Keyboard.release(KEY_LEFT_BRACE); break;
case 155: Keyboard.release(KEY_RIGHT_BRACE); break;
case 156: Keyboard.release(KEY_ENTER); break;
case 157: Keyboard.release(MODIFIERKEY_CTRL); break;
case 158: Keyboard.release(KEY_A); break;
case 159: Keyboard.release(KEY_S); break;
case 160: Keyboard.release(KEY_D); break;
case 161: Keyboard.release(KEY_F); break;
case 162: Keyboard.release(KEY_G); break;
case 163: Keyboard.release(KEY_H); break;
case 164: Keyboard.release(KEY_J); break;
case 165: Keyboard.release(KEY_K); break;
case 166: Keyboard.release(KEY_L); break;
case 167: Keyboard.release(KEY_SEMICOLON); break;
case 168: Keyboard.release(KEY_QUOTE); break;
case 169: Keyboard.release(KEY_TILDE); break;
case 170: Keyboard.release(MODIFIERKEY_SHIFT); break;
case 171: Keyboard.release(KEY_BACKSLASH); break;
case 172: Keyboard.release(KEY_Z); break;
case 173: Keyboard.release(KEY_X); break;
case 174: Keyboard.release(KEY_C); break;
case 175: Keyboard.release(KEY_V); break;
case 176: Keyboard.release(KEY_B); break;
case 177: Keyboard.release(KEY_N); break;
case 178: Keyboard.release(KEY_M); break;
case 179: Keyboard.release(KEY_COMMA); break;
case 180: Keyboard.release(KEY_PERIOD); break;
case 181: Keyboard.release(KEY_SLASH); break;
case 182: Keyboard.release(MODIFIERKEY_RIGHT_SHIFT); break;
case 183: Keyboard.release(KEYPAD_ASTERIX); break;
case 184: Keyboard.release(MODIFIERKEY_ALT); break;
case 185: Keyboard.release(KEY_SPACE); break;
case 186: Keyboard.release(KEY_CAPS_LOCK); break;
case 187: Keyboard.release(KEY_F1); break;
case 188: Keyboard.release(KEY_F2); break;
case 189: Keyboard.release(KEY_F3); break;
case 190: Keyboard.release(KEY_F4); break;
case 191: Keyboard.release(KEY_F5); break;
case 192: Keyboard.release(KEY_F6); break;
case 193: Keyboard.release(KEY_F7); break;
case 194: Keyboard.release(KEY_F8); break;
case 195: Keyboard.release(KEY_F9); break;
case 196: Keyboard.release(KEY_F10); break;
case 197: Keyboard.release(KEY_NUM_LOCK); break;
case 198: Keyboard.release(KEY_SCROLL_LOCK); break;
case 199: Keyboard.release(KEYPAD_7); break;
case 200: Keyboard.release(KEYPAD_8); break;
case 201: Keyboard.release(KEYPAD_9); break;
case 202: Keyboard.release(KEYPAD_MINUS); break;
case 203: Keyboard.release(KEYPAD_4); break;
case 204: Keyboard.release(KEYPAD_5); break;
case 205: Keyboard.release(KEYPAD_6); break;
case 206: Keyboard.release(KEYPAD_PLUS); break;
case 207: Keyboard.release(KEYPAD_1); break;
case 208: Keyboard.release(KEYPAD_2); break;
case 209: Keyboard.release(KEYPAD_3); break;
case 210: Keyboard.release(KEYPAD_0); break;
case 211: Keyboard.release(KEYPAD_PERIOD); break;
case 215: Keyboard.release(KEY_F11); break;
case 216: Keyboard.release(KEY_F12); break;
}
count = 0;
data = 00;
}
}
P.S.: Here is a picture of one of my "made in Brazil" XT keyboards. Made in 1987, perfect working.
(Attachment Link)
Wow, that is the most usable version of an XT layout I've ever seen!
@pivanow
Pardon my ignorance, but why don't you invest some time in writing some code with the same functionalities of soarer's?
I'm sure that many would like to kickstart such a feature.
it will be hard to develop all functions that Soarer gently made.
Soarer's work is astonishing. With very few exceptions, almost EVERY keyboard that I plug into my converter *just works* with no additional drama.
I'd try adding pull-up resistors to the clock & data wires.
No way, even with resistors...
I've found an AT2XT adaptor here. Soaror's Converter recoginizes an AT keyboard with the AT2XT adaptor as a XT keyboard (as expected), and it works perfectly!
So, I've gotten very curious to understand why the AT2XT adaptor works but the original XT keyboard doesn't.
Trying to remember how to use an osciloscope, I've gotten some waveforms. The first picture contains the AT2XT waveforms when "a" and "s" are pressed in the keyboard. It looks compatible with XT IBM Keyboard Protocol.
(Attachment Link)
The second picture contains the XT pure keyboard waveforms when "a" and "s" are pressed. The clock seems to be higher and we can see only 8 bits, not 9 as it was supposed to be.
(Attachment Link)
I guess that's why the Soaror's converter is not recognizing my XT keyboards.
Do you thing I will have to write a specific code for converting my XT keyboards or it may exist another solution?
Noticed your keyboard(microtec) has different timing on its signaling, but it is compatible to XT protocol.
After emulating different XT keyboard signals with tweaking AT2XT code I came to think Soarer's converter read data line on rising edge of clock and this is problem here. (Also my tmk converter does wrongly at this point :p)
I know you already solved this progblem yourself, congrat!
But it would be appreciated if you are willing to try my new converter firmware and let me know whether it works with the keyboard or not.
Attached firmware is built for Teensy2.0++ and compatible to Soarer's in terms of hardware. Thanks.
Has anyone with a 122 key tried to map the F13-F24 keys as they actually were meant for (mapping them to real F13-F24)?
I know you already solved this progblem yourself, congrat!
But it would be appreciated if you are willing to try my new converter firmware and let me know whether it works with the keyboard or not.
Attached firmware is built for Teensy2.0++ and compatible to Soarer's in terms of hardware. Thanks.
It worked for my Microtec keyboard, but not perfectly. All keys worked, but some press or release codes are frequently lost, resulting in missing characters or constant repetition (because of missing release code).
I've had the same problem in my implementation. I've concluded that I had to make the code as simpliest as possible, without many comparations or math operations, because the processor must be free for running the loops in time for reading the clock pulses. If the processor is busy, it could miss some clock pulses. Making a simply code solved this problem for me. I thought buying a faster Teensy too.
I'm available for more tests if you need. Thank you for your help and orientation.
The center arrow is LANG_4, the upper right of the numpad is EXTRA_SYSRQThanks, that helps. Forgot that the rod stab ends up going into the <> key so no need to be concerned over that. Haven't got the converter wired up yet, I just want to have it set up so once I get the thing back together it's all good. Need to repaint the plate next.
Otherwise, I think that most of his default layout is what the key position would be in standard ANSI.
The right side of Left Shift, I don't know, I always cover it up. HID_listen will tell you what it is putting out, then you could look it up.
feltel@bigblue:~/bin$ sudo teensy-listen
Waiting for device:......................................
Listening:
remaining: 0000
wF8 W004wF8 W004wF8 W004
Keyboard ID: 0000
Code Set: 3
Mode: AT/PS2
wED W104wED W104wED W104
often alsofeltel@bigblue:~/bin$ sudo teensy-listen
Waiting for device:.................
Listening:
R06 wFE
R06 wFE
R05 wFE
or long colums of R05 and/or R06. Could be a dead keyboard controller board the reason for this behavior? As I was not sure if the keyset detection is the source of the problem I uploaded a simple config file to the teensy with "force set3". feltel@bigblue:~/bin$ ./scinfo
scinfo v1.10
scinfo: looking for Soarer's Converter: found
scinfo: sending info request: ok
device: ok
Protocol Version: v1.00
Code Version: v1.12
Max Settings Version: v1.01
Current Settings Version: v1.01
SRAM Size: 8192 bytes
SRAM Free: 7441 bytes
EEPROM Size: 4096 bytes
EEPROM Free: 4088 bytes
No. Terminals don't speak the same language and you will need a hardware converter.it always mentions for 122 keys keyboard. since i only have the 104 key variant will it still work?
However, if you follow Soarer's instructions, that terminal should respond properly with no additional drama.
It has never failed to work with any IBM, in my experience.awsime ill give it a try
Soarer was meticulous in his work. The entire project began as a means to remap keys on an F AT.
It has never failed to work with any IBM, in my experience.
Soarer was meticulous in his work. The entire project began as a means to remap keys on an F AT.
i downloaded all the packages and zips on the op. i couldnt find a easy to understans tutorial in it. (Unless i missed it) on how to do this. I havent received my teensy yet but i was gsthering up info on how to do this. could anyone give me a small crash course. flashing the teensy seems easy enough but wich file do i flash. there seem to be a few hex files and im just not sure.
I have the 104 keys terminal model m
Sent from my SM-N915W8 using Tapatalk
i downloaded all the packages and zips on the op. i couldnt find a easy to understans tutorial in it. (Unless i missed it) on how to do this. I havent received my teensy yet but i was gsthering up info on how to do this. could anyone give me a small crash course. flashing the teensy seems easy enough but wich file do i flash. there seem to be a few hex files and im just not sure.
I have the 104 keys terminal model m
Sent from my SM-N915W8 using Tapatalk
The docs are in Soarer_Converter_v1.12_docs.zip - use a web browser to navigate the HTML pages.
Open Soarer_Converter_v1.12_update.zip to find four files. Different files for different hardware. For a Teensy 2.0 you'd flash it with Soarer_at2usb_v1.12_atmega32u4.hex
After that your keyboard should just work. Nothing else is necessary unless you want to use the programming features to change layouts or whatever.
Tried to swape the clock and data... the same thing happens... also I realized that f11 (which doesn't even exist on XT :/) are been pressed repeatedly. I also tried downgrading the framework to 1.03, the hid terminal doesn't show chunks of code now and f11 aren't been pressed. but instead show R04, R05, or R06 Error code. Tried a new Chip and the same thing happens... Gonna order an Teensy and try that now..
Hi,
I faced some problem on using this USB converter.
Does anyone know how do I find "Soarer's Converter"
in scinfo command?
I'm trying to connect my PS/2 keyboard to arduino Pro Micro.
And it works with Soarer_at2usb_v1.12_atmega32u4.hex file.
The problem happens when I'm starting to build my keymap.
scwr & scinfo cannot find out the converter:
terminal output:
scinfo v1.10
scinfo: looking for Soarer's Converter: not found
Do I need to put the hex file to some specific directory?
Are you putting the Pro Micro into bootloader mode? You don't need to do that. Once Soarer's is flashed onto the Pro Micro you never need the bootloader mode again.
Just run scinfo without messing with the Pro Micro at all and it should be seen.
Hey guys, I'm having a bit of a problem here. I bought a Soarer's Converter for XT keyboards from Orihalcon on eBay a while ago, used it happily for some time, only to have it develop an intermittent fault. He had me send it back and sent me a new one. Now that one has developed a fault too, at first it was intermittent too, but last week it just up and quit on me. I decided that, as I had already received a second one and that it had been some time, I would tackle this one myself, especially as my soldering skills have improved greatly and I have a lot more tools for electronics work.
I proceeded with disassembly and discovered that the circuit board inside the USB plug was potted in hot snot (da bigger da gob, da better da job, amIright? ...) which hadn't bonded to the board or components, or even the rubber shell, only the wires. I cut everything back and proceeded to solder up the USB and DIN-5 connections now inside an enclosure box with a panel-mount DIN-5 and a USB cable with a gland, salvaged from some other thing long ago. Unfortunately, when I was doing something, I managed to knock off a tiny little surface-mount component about 1/4 the size of a grain of rice. Aided by a bright LED torch, I finally found the goddamn thing (on a filthy cement floor... fun!) and was able to put it back on the board, thanks to my needle tweezers. Testing it with a meter showed it seemed to be a capacitor, as with the probes in one orientation the meter counted upwards and in the other downwards (in Ohms mode, beautiful old HP 3455a). I put it back in what I thought was the correct orientation and tried the unit. Plugging it into a laptop for testing (Dell Precision M60 portable workstation) I got an error from Windows: "Power Surge on Hub Port". I checked all my work, found some little bits of wire from the USB side that may have been making contact with one-another and trimmed them back. Same problem. I swapped around the orientation of the mystery surface-mount device, still the same error. What's up here???
Hey guys I'm trying to replace the PS/2 cable on a 82G2383 Model M, scored this thing but the cord was chewed and broken.
https://imgur.com/a/qAYQdtf
Does anybody know what the pin-out is on these boards? Don't really have the equipment to check myself.
Thanks for that can confirm that was correct, my keyboard works...
Well almost, a number of keys are dead, I'm thinking it may be the board... It's safe to assume if I see nothing in hid_listen.exe for some keys that it's not the Soarer's mapping being wrong... right?
I have 2 DEVLIN keyboard. When I press a button, it is released as LSHFIT+L. Is this a macro configuration? I looked at the description of the macro and the examples in configs. But what I wrote doesn't seem to work, I hope to get a complete example.
#
#
# Soarer's converter file for my TG3 keyboard
#
#
#
#
# Numlock is permanently on so no need to map it to a key. Turn numlock off
# and the keyboard controller turns it right back on again.
#
#
#
#
# Simple remapping works for the group of 8 FN keys above the numeric keypad
# and for the numpad keys we want to be math operators
#
#
remapblock
F1 INSERT # top row - l to r
F2 HOME
F3 PAGE_UP
F4 UNASSIGNED
F5 DELETE # bottom row - l to r
F6 END
F7 PAGE_DOWN
F8 UNASSIGNED
# Numeric keypad operators - from the enter key we go up & then turn left
PAGE_DOWN PAD_PLUS
PAGE_UP PAD_MINUS
DELETE PAD_ASTERIX
HOME PAD_SLASH
ESC TAB
END UNASSIGNED # top left numpad corner - usual numlock position
endblock
#
#
# Our oddball keys are all prefixed with F9 or F10
# We'll let F9 or F10 switch layers and then act on the second key code:
# The top leftmost key sends F9 + A, so in our code:
# F9 is absorbed as it shifts to layer 1, then we act on the "A"
# This works remarkably well and wasn't my idea -
# I asked for help on Geekhack.org and ShawnMeg came up with the idea.
#
# SHIFT + RIGHT or LEFT arrow also presses F11 so we need to have F11 trigger
# a layer. The layer trigger itself absorbs the phantom keypress of F11
# then the shifted right/left arrows act normally
#
#
layerblock
FN1 1
FN2 2
FN3 1
endblock
remapblock
layer 0
F9 FN1
F10 FN2
F11 FN3
endblock
#
#
# UNASSIGNED doesn't seem to work here (?) so we'll use EXTRA_PAD_PLUS
# It's a code unrecognized by Windows and so effectively blanks these keys
#
#
remapblock
layer 1 # F9 prefixed
A ESC # top row left end
B EXTRA_PAD_PLUS
C EXTRA_PAD_PLUS
D EXTRA_PAD_PLUS
E EXTRA_PAD_PLUS
F EXTRA_PAD_PLUS
G EXTRA_PAD_PLUS
H EXTRA_PAD_PLUS
I EXTRA_PAD_PLUS
J EXTRA_PAD_PLUS
K EXTRA_PAD_PLUS
L EXTRA_PAD_PLUS
M EXTRA_PAD_PLUS
N EXTRA_PAD_PLUS
O EXTRA_PAD_PLUS # top row right end
P F1 # bottom row left end
Q F2
R F3
S F4
T F5
U F6
V F7
W F8
X F9
Y F10
Z F11
Endblock
remapblock
layer 2 # F10 prefixed
A F12
B EXTRA_PAD_PLUS
C EXTRA_PAD_PLUS
D RGUI # bottom row right end
# row of four at the top right corner - left to right
E ESC
F PRINTSCREEN
G SCROLL_LOCK
H PAUSE
Endblock
I have 2 DEVLIN keyboard. When I press a button, it is released as LSHFIT+L. Is this a macro configuration? I looked at the description of the macro and the examples in configs. But what I wrote doesn't seem to work, I hope to get a complete example.
A lot of special purpose keyboards have the controller programmed to send key combinations to trigger something in their software. I don't know if this will help but here's my story of one such keyboard.
The board I bought looked like this:
(Attachment Link)
The F1-F8 keys above the numeric keypad worked as expected but there was no F9, F10...F12. Instead the double row of extra keys would send F9+A, F9+B...F9+Z and F10+A... you get the idea.
This keyboard came from some kind of special medical equipment. Companies will program their keyboards with key combinations because if their software is based on Microsoft Windows, and it usually is, Windows will only recognize the "usual" keys and will ignore anything else. So they can't just use a distinct keycode for some function - Windows will ignore it - they have to stick with regular keycodes and use combinations to trigger their special functions. In the end, for these special keys, I used the first key of the combination to trigger a layer change and then acted on the second code of the key combination. Here's my Soarer's file for this keyboard:Code: [Select]#
These specialized keyboards can be tricky to reprogram in Soarer's, but it can usually be done if you give it some thought. And it's worth the effort. Here's how mine turned out:
#
# Soarer's converter file for my TG3 keyboard
#
#
#
#
# Numlock is permanently on so no need to map it to a key. Turn numlock off
# and the keyboard controller turns it right back on again.
#
#
#
#
# Simple remapping works for the group of 8 FN keys above the numeric keypad
# and for the numpad keys we want to be math operators
#
#
remapblock
F1 INSERT # top row - l to r
F2 HOME
F3 PAGE_UP
F4 UNASSIGNED
F5 DELETE # bottom row - l to r
F6 END
F7 PAGE_DOWN
F8 UNASSIGNED
# Numeric keypad operators - from the enter key we go up & then turn left
PAGE_DOWN PAD_PLUS
PAGE_UP PAD_MINUS
DELETE PAD_ASTERIX
HOME PAD_SLASH
ESC TAB
END UNASSIGNED # top left numpad corner - usual numlock position
endblock
#
#
# Our oddball keys are all prefixed with F9 or F10
# We'll let F9 or F10 switch layers and then act on the second key code:
# The top leftmost key sends F9 + A, so in our code:
# F9 is absorbed as it shifts to layer 1, then we act on the "A"
# This works remarkably well and wasn't my idea -
# I asked for help on Geekhack.org and ShawnMeg came up with the idea.
#
# SHIFT + RIGHT or LEFT arrow also presses F11 so we need to have F11 trigger
# a layer. The layer trigger itself absorbs the phantom keypress of F11
# then the shifted right/left arrows act normally
#
#
layerblock
FN1 1
FN2 2
FN3 1
endblock
remapblock
layer 0
F9 FN1
F10 FN2
F11 FN3
endblock
#
#
# UNASSIGNED doesn't seem to work here (?) so we'll use EXTRA_PAD_PLUS
# It's a code unrecognized by Windows and so effectively blanks these keys
#
#
remapblock
layer 1 # F9 prefixed
A ESC # top row left end
B EXTRA_PAD_PLUS
C EXTRA_PAD_PLUS
D EXTRA_PAD_PLUS
E EXTRA_PAD_PLUS
F EXTRA_PAD_PLUS
G EXTRA_PAD_PLUS
H EXTRA_PAD_PLUS
I EXTRA_PAD_PLUS
J EXTRA_PAD_PLUS
K EXTRA_PAD_PLUS
L EXTRA_PAD_PLUS
M EXTRA_PAD_PLUS
N EXTRA_PAD_PLUS
O EXTRA_PAD_PLUS # top row right end
P F1 # bottom row left end
Q F2
R F3
S F4
T F5
U F6
V F7
W F8
X F9
Y F10
Z F11
Endblock
remapblock
layer 2 # F10 prefixed
A F12
B EXTRA_PAD_PLUS
C EXTRA_PAD_PLUS
D RGUI # bottom row right end
# row of four at the top right corner - left to right
E ESC
F PRINTSCREEN
G SCROLL_LOCK
H PAUSE
Endblock
(Attachment Link)
Hello all,
I recently ordered two adapters on eBay for my XT model F. One of the adapters randomly died altogether and I was sent a replacement. The replacement arrived, but when I plug in any of my Model Fs, it doesn't work. In HID I am getting R06 WFE for all key presses, and I noticed that the Keyboard IF is 0000 and the code set is Unknown. The mode is set to AT/PS2 instead of XT. Any idea what caused this and how to fix it? It is like that on any computer I use.
Hi all,
Can anyone lead me in the right direction to learn about programming macros in the .sc file? I'm trying to figure out how to map two key presses to one key. I.e, pressing F7 to trigger ALT + LGUI press. Any tips?
macroblock
macro F7
PUSH_META CLEAR_META all
MAKE LALT
PRESS LGUI
BREAK LALT
POP_ALL_META
endmacro
endblck
Launching from keyboard is easy. Just set a shortcut with properties (in the "shortcut key" in Windows).
1. Is it possible to have a macro launch an application? For example, could I configure CTRL+SHIFT+F launch Firefox?
2. Is it possible to do pattern substitution with it? For example, can I type yw and have the converter convert to you're welcome.
1. Is it possible to have a macro launch an application? For example, could I configure CTRL+SHIFT+F launch Firefox?
2. Is it possible to do pattern substitution with it? For example, can I type yw and have the converter convert to you're welcome.
1. If Firefox is your standard browser, you can simply program the special code "MEDIA_WWW_HOME" to any key you like, which will open the browser.
If Firefox is not your standard browser, but it is in your task bar - let's say on second position, you could program the macro <WIN> + <2>.
2. No, you would have to program for example <CTRL>+<ALT>+<Y> to output this text.
I bought this keyboard: Epson QX-10 keyboard.
I think it needs to be converted. (https://deskthority.net/viewtopic.php?t=21416)
Can I get any external converter for this?
Hi, do you think I could use this microcontroller? I don't want to wait possibly months for shipping from China or pay $25+ to get it in a week or so.
https://www.amazon.ca/ATmega32U4-Development-Microcontroller-Leonardo-Bootloader/dp/B07WPCLF8Y/ref=sr_1_4?keywords=ATmega32U4&qid=1573150246&sr=8-4
I'm looking to convert a terminal Model M to USB. Thanks!
Maybe I should have posted an update. I got it to work and wrote a guide here:Hi, do you think I could use this microcontroller? I don't want to wait possibly months for shipping from China or pay $25+ to get it in a week or so.
https://www.amazon.ca/ATmega32U4-Development-Microcontroller-Leonardo-Bootloader/dp/B07WPCLF8Y/ref=sr_1_4?keywords=ATmega32U4&qid=1573150246&sr=8-4
I'm looking to convert a terminal Model M to USB. Thanks!
Fellow Canuck here. I tried that and I couldn't get the firmware to flash properly. It could be that I was just doing it wrong but I ended up returning it. I ordered a few Teensy 2.0 from China to Ontario and it took only 2 weeks. Not that bad.
I have a Filco MJ2 ordered. Obviously I want to see the NKRO in action on my PC which has only USB in.
I ordered a Teensy 2.0, ps/2 socket, usb type A male to type B. Have the hex code of Soarer's Converter, and Teensy Programming software for windows.
I will have to connect ports of the teensy to the ps/2 socket GND, VCC, CLOCK and DATA, then program the Teensy with the ATmega32U4 hex file. When I then power on the teensy connected to ps/2 and usb the next time, Will my keyboard be working already? Or will I have to take some other steps I haven't mentioned?
I don't want anything fancy, no remapping or function keys, no lights on teensy, no aux keys. Just that the Filco keyboard is NKRO on windows through USB.
Thanks for any tips :-).
matalog.
# In Windows, you can drag and drop this configuration file to the, "scaswr.bat",
# batch file to configure Soarer's converter. The name of this
# text file can end in *.txt or *.sc or anything else. The *.txt extension
# might be more convenient in the Windows operating system so that you can
# double click on the file name to edit the file in the Notepad program.
# Soarer configuration files are case-insensitive.
# You can use tab or spaces characters to align text.
# Text to the right of # characters are comments.
ifselect any
layerblock
FN1 1 # FN1 is a virtual key and is not the same thing as a physical F1 function key.
endblock
# Enter your default key mappings here:
remapblock
RALT RGUI # The Right Alt key becomes the Right Windows key
CAPS_LOCK FN1 # The CAPS_LOCK key becomes like a shift key into keyboard layer 1
endblock
remapblock
layer 1
C EXSEL # CAPS_LOCK C is remapped to a key that is non-existent on my keyboard to trigger a macro
endblock
# Enter your default macro definitions here:
macroblock
# Press Ctrl Break when CAPS_LOCK C is pressed
macro EXSEL
push_meta clear_meta all
set_meta LCTRL
press PAUSE
pop_all_meta
endmacro
# The gray number pad keys on my keyboard have no special meaning with modifiers,
# so modifiers like Ctrl, Alt, Shift can be used with the keys for
# NUM_LOCK / * - + ENTER on the number pad for macros.
# Pressing LEFT SHIFT with NUM LOCK toggles the Colemak keyboard layout.
macro num_lock LSHIFT -ctrl -alt
push_meta clear_meta all
press SELECT_1 # SELECT_1 is not a physical key but a toggle like CAPS LOCK or NUM LOCK
pop_all_meta
endmacro
# Pressing LEFT CTRL with NUM LOCK toggles the Dvorak keyboard layout.
macro num_lock LCTRL -shift -alt
push_meta clear_meta all
press SELECT_2 # SELECT_2 is not a physical key but a toggle like CAPS LOCK or NUM LOCK
pop_all_meta
endmacro
# Pressing LEFT ALT with NUM LOCK resets all select states and returns to qwerty layout
macro num_lock LALT -ctrl -shift
push_meta clear_meta all
press select_0
pop_all_meta
endmacro
# Simultaneously pressing Left Shift and Right Shift is the same as pressing Caps Lock.
# That frees up the Caps Lock key to be something more useful, such as the left Ctrl key (LCTRL).
# There are 2 entries here for pressing the Shift keys in different orders.
macro LSHIFT RSHIFT -ctrl -alt
press caps_lock # This presses the actual Caps Lock key, not the remapped Caps Lock key.
endmacro
macro RSHIFT LSHIFT -ctrl -alt
press caps_lock
endmacro
endblock
# The contents of the sample, "colemak.sc", and, "dvorak.sc", files are included
# here for easy adjustment.
ifselect 1
# Colemak keyboard layout.
# Holding down the LEFT SHIFT key and then pressing the NUM LOCK key
# toggles the Select 1 state and the Colemak keyboard layout.
remapblock
D S
E F
F T
G D
I U
J N
K E
L I
N K
O Y
P SEMICOLON
R P
S R
T G
U L
Y J
SEMICOLON O
endblock
ifselect 2
# Dvorak keyboard layout - contributed by Morning Song.
# Holding down the LEFT CTRL key and then pressing the NUM LOCK key
# toggles the Select 2 state and the Dvorak keyboard layout.
remapblock
MINUS LEFT_BRACE
EQUAL RIGHT_BRACE
Q QUOTE
W COMMA
E PERIOD
R P
T Y
Y F
U G
I C
O R
P L
LEFT_BRACE SLASH
RIGHT_BRACE EQUAL
# A A
S O
D E
F U
G I
H D
J H
K T
L N
SEMICOLON S
QUOTE MINUS
Z SEMICOLON
X Q
C J
V K
B X
N B
# M M
COMMA W
PERIOD V
SLASH Z
endblock
' This routine prompts the user to enter a string and then generates the corresponding
' key press commands for use in a macro in a configuration file for Soarer's converter
' for adapting a keyboard with a PS/2 interface cable to a USB port. You can copy
' and paste the resulting code into a Soarer configuration file or use an include statement.
'
' This code is written in Visual Basic for Applications for use in a Microsoft Word
' document. You can press Alt F11 while in Microsoft Word to enter the Visual Basic
' environment. You can then select Module from the Insert menu and copy this code into
' the module and run the GeneratePresses() routine. Depending on what version of
' Microsoft Word you have and what security settings are in place, you might need to
' enable macros. Some versions of Word might require you to save the Word document
' with a *.docm file name extension to be able to execute Visual Basic macros.
'
' 01 May 2020 Edward Lee.
'
Sub GeneratePresses()
Dim s As String
Dim c As String
Dim i As Integer
Dim Shifted As Boolean
Dim CharacterCount As Integer
Shifted = False
CharacterCount = 0
s = InputBox("Enter a string:")
For i = 1 To Len(s)
c = Mid(s, i, 1)
' Is the character in upper case or shifted on the keyboard?
If (c >= "A" And c <= "Z") Or c = "~" Or c = "!" Or c = "@" Or c = "#" Or c = "$" Or c = "%" Or c = "^" Or c = "&" Or c = "*" Or c = "(" Or c = ")" Or c = "_" Or c = "+" Or c = "{" Or c = "}" Or c = "|" Or c = ":" Or c = """" Or c = "<" Or c = ">" Or c = "?" Then
' If the shift state is not active, then activate shift
If Not Shifted Then
Shifted = True
ActiveDocument.Content.InsertAfter " set_meta LSHIFT" & Chr(13) & Chr(10)
End If
Else
' If the shift state is active, then deactivate shift
If Shifted Then
Shifted = False
ActiveDocument.Content.InsertAfter " clear_meta LSHIFT" & Chr(13) & Chr(10)
End If
End If
ActiveDocument.Content.InsertAfter " press " & Name(c) & Chr(13) & Chr(10)
CharacterCount = CharacterCount + 1
Next i
' If the shift state is active, then deactivate shift
If Shifted Then
Shifted = False
ActiveDocument.Content.InsertAfter " clear_meta LSHIFT" & Chr(13) & Chr(10)
End If
If CharacterCount > 63 Then ActiveDocument.Content.InsertAfter " # Warning: The string is too long, requiring " & CharacterCount & " PRESS commands, which exceeds the limit of 63."
End Sub
' Given a character on a USA keyboard, this function
' returns the name to use in a PRESS command.
Function Name(c As String) As String
Select Case c
Case " "
Name = "SPACE"
Case "!"
Name = "1" & Chr(9) & "# ! Exclamation"
Case """"
Name = "QUOTE" & Chr(9) & "# "" Double quote"
Case "#"
Name = "3" & Chr(9) & "# # Number sign"
Case "$"
Name = "4" & Chr(9) & "# $ Dollar sign"
Case "%"
Name = "5" & Chr(9) & "# % Percent"
Case "&"
Name = "7" & Chr(9) & "# & Ampersand"
Case "'"
Name = "QUOTE" & Chr(9) & "# ' Apostrophe or single quote"
Case "("
Name = "9" & Chr(9) & "# ( Opening parenthesis"
Case ")"
Name = "0" & Chr(9) & "# ) Closing parenthesis"
Case "*"
Name = "8" & Chr(9) & "# Asterisk"
Case "+"
Name = "EQUAL" & Chr(9) & "# Plus"
Case ","
Name = "COMMA" & Chr(9) & "# ,"
Case "-"
Name = "MINUS" & Chr(9) & "# -"
Case "."
Name = "PERIOD" & Chr(9) & "# ."
Case "/"
Name = "SLASH" & Chr(9) & "# / Forward slash"
Case "0"
Name = "0"
Case "1"
Name = "1"
Case "2"
Name = "2"
Case "3"
Name = "3"
Case "4"
Name = "4"
Case "5"
Name = "5"
Case "6"
Name = "6"
Case "7"
Name = "7"
Case "8"
Name = "8"
Case "9"
Name = "9"
Case ":"
Name = "SEMICOLON" & Chr(9) & "# : Colon"
Case ";"
Name = "SEMICOLON" & Chr(9) & "# ;"
Case "<"
Name = "COMMA" & Chr(9) & "# < Less than"
Case "="
Name = "EQUAL" & Chr(9) & "# ="
Case ">"
Name = "PERIOD" & Chr(9) & "# > Greater than"
Case "?"
Name = "SLASH" & Chr(9) & "# ? Question mark"
Case "@"
Name = "2" & Chr(9) & "# @ At sign"
Case "A"
Name = "A"
Case "B"
Name = "B"
Case "C"
Name = "C"
Case "D"
Name = "D"
Case "E"
Name = "E"
Case "F"
Name = "F"
Case "G"
Name = "G"
Case "H"
Name = "H"
Case "I"
Name = "I"
Case "J"
Name = "H"
Case "K"
Name = "K"
Case "L"
Name = "L"
Case "M"
Name = "M"
Case "N"
Name = "N"
Case "O"
Name = "O"
Case "P"
Name = "P"
Case "Q"
Name = "Q"
Case "R"
Name = "R"
Case "S"
Name = "S"
Case "T"
Name = "T"
Case "U"
Name = "U"
Case "V"
Name = "V"
Case "W"
Name = "W"
Case "X"
Name = "X"
Case "Y"
Name = "Y"
Case "Z"
Name = "Z"
Case "["
Name = "LEFT_BRACE" & Chr(9) & "# [ Opening square brace"
Case "\"
Name = "BACKSLASH" & Chr(9) & "# \"
Case "]"
Name = "RIGHT_BRACE" & Chr(9) & "# ] Closing square brace"
Case "^"
Name = "6" & Chr(9) & "# ^ Carat"
Case "_"
Name = "MINUS" & Chr(9) & "# _ Underline"
Case "`"
Name = "BACK_QUOTE" & Chr(9) & "# `"
Case "a"
Name = "a"
Case "b"
Name = "b"
Case "c"
Name = "c"
Case "d"
Name = "d"
Case "e"
Name = "e"
Case "f"
Name = "f"
Case "g"
Name = "g"
Case "h"
Name = "h"
Case "i"
Name = "i"
Case "j"
Name = "j"
Case "k"
Name = "k"
Case "l"
Name = "l"
Case "m"
Name = "m"
Case "n"
Name = "n"
Case "o"
Name = "o"
Case "p"
Name = "p"
Case "q"
Name = "q"
Case "r"
Name = "r"
Case "s"
Name = "s"
Case "t"
Name = "t"
Case "u"
Name = "u"
Case "v"
Name = "v"
Case "w"
Name = "w"
Case "x"
Name = "x"
Case "y"
Name = "y"
Case "z"
Name = "z"
Case "{"
Name = "LEFT_BRACE" & Chr(9) & "# { Opening curly brace"
Case "|"
Name = "BACKSLASH" & Chr(9) & "# | Vertical Pipe"
Case "}"
Name = "RIGHT_BRACE" & Chr(9) & "# Closing curly brace"
Case "~"
Name = "BACK_QUOTE" & Chr(9) & "# ~ Tilde"
Case Else
Name = "UNASSIGNED"
End Select
End Function
//{ "EXTRA_UNUSED_1", 0xB0 }, // extra
//{ "EXTRA_UNUSED_2", 0xC1 }, // extra
some businesses do not allow unapproved software installation on their computers as a security measure
my Soarer's converter is a seamless, professional looking PS/2 to USB converter
I'm building an active converter adapter for an USB cherry G80 3000 series "2013-2017?" keyboard.
Standard 104 Keys and comes with a passive PS/2 converter.
NKRO works only with the passive converter. Plugging with USB directly disables it.
Power usage of 25mA typical.
Using a pro micro clone.
I'm a noob when concerning electronics.
There is VCC,GND,CLOCK,DATA pin outs graphs on both the PS/2 and pro micro but nothing about pull-ups.
I didn't see any clear pictures in this thread of an finished one with pull-ups.
First Soarer recommended using 1k Ohm for long cables (https://geekhack.org/index.php?topic=17458.msg335414#msg335414). Not usually needed?
Then I see on hasu tmk ps2_usb wiki the pro micro needs an 1k-10k (https://github.com/tmk/tmk_keyboard/tree/master/converter/ps2_usb). This is an much wider range.
Searching the web further, it seems 4.7k is the norm for pull-ups on USB tinkerware.
I've already soldered two 1/4W 2.4k Ohm resistors on the back of the pcb, One VCC to Clock, One VCC to DATA, picture below:
(Attachment Link)
Is this correctly used?
Is there any danger of using too strong pull-ups?
I've already soldered two 1/4W 2.4k Ohm resistors on the back of the pcb, One VCC to Clock, One VCC to DATA, picture below:
(Attachment Link)
Is this correctly used?
I've already soldered two 1/4W 2.4k Ohm resistors on the back of the pcb, One VCC to Clock, One VCC to DATA, picture below:
(Attachment Link)
Is this correctly used?
If you're thinking two resistors = double the resistance then no, that's not correct. In parallel the same amount of current goes through each resistor so the resistance is actually halved to 1.2k. If you put them in series (connect one to the other in a line) that would be 4.8k :)
If you are unable to run scas to assemble the configuration file or are unable to run scwr to write the assembled file to Soarer's converter, then there is not much you can do to fix your problem.Sorry it took so long, as noted, had a knee replacement, haven't been back on this machine since. Now that I'm back, things are even odder. I know for sure I could run scinfo on this, and got back reasonable results. Now, scinfo (or scwr) says it can't find the converter. Yet I'm typing with it right now! Also, Shift-Cursor keys are now working properly. Baffling.
Bus 003 Device 004: ID 16c0:047d Van Ooijen Technische Informatica Teensy Keyboard+Debug
Do you have a Windows computer on which you can run the Windows versions of the scas and scwr programs?
Hasu
Thank you, your firmware are working on Chicony kb-5191 in XT mode!
Only Pause/Break key are not response (press but not release).
Siemens F500 will try later (same).
Siemens F500 has no AT/XT switch, otherwise it wouldn't make sense for me to make a converter.
Can you fix the Pause/Break issue?
No probably. Keyboard converter doesn't/can't debounce in general.
The tools for Mac are 32-bit executable binary files and recent versions of MacOS(10.15-) doens't support 32-bit anymore.
You will have to compile binary files from srouce codes with Xcode yourself or you can find them here.
https://deskthority.net/viewtopic.php?f=7&t=25309