geekhack
geekhack Community => Keyboards => Topic started by: CodeChef on Wed, 01 December 2010, 11:34:14
-
If this has been done before I haven't seen it. What about taking a non-NKRO keyboard and soldering in diodes (I'm talking about a mechanical keyboard obviously). If all it is is a diode soldered b/w the switch lead and the trace, it seems like it would be pretty simple. 1) Buy 110 diodes for like 2 bucks. 2) Solder for a few hours.
This (http://www.mouser.com/ProductDetail/Vishay-Semiconductors/1N914-TR/?qs=sGAEpiMZZMtldOIVIVqa3QuCb02H671anq%2fhJka%252bL%252bc%3d) would probably work, right? All the specs seem within reason but I don't really know what kind of current is flowing in keyboards...
-
You also need a controller that doesn't implement blocking logic.
That means finding a keyboard controller with the same pinout, and they're usually SMD mount parts.
-
In theory, it's "easy." The controller part, that Phaedrus mentioned, makes it much more difficult. There used to be some DIY controllers around in the Asian enthusiast circles, but they are extremely hard to come by. Some folks are working with Teensy as well. In the end, though, it might be much less hassle to just buy a new keyboard.
-
http://geekhack.org/showwiki.php?title=Island:6731& (http://geekhack.org/showwiki.php?title=Island:6731&)
-
It would be more than a few hours to put the diodes in... for each one, you'd need to cut the pcb track, scrape off the green layer so you can solder to the track, and then solder the diode in. At least. On some switches you'd probably find that the track would need cutting on the other side of the pin, and a link soldering in to join the two tracks. Some of the tracks will simply fall off the board while you're doing it.
It would probably be easier to just cut all the column tracks around each switch, and rewire them. I mean just use the PCB for connecting the switches in rows, and have the column connections entirely made out of diodes and bits of wire.
-
KBDmania guys love this sort of stuff.
I tend to only do mods to make something that you can't just buy.
But then a lot of people at Geekhack like to buy a Beam Spring Keyboard and.... and.... sit and look at it.
This is truth. By the time you got around to getting all the parts and the time to do all the work, you could have fixed a few neighbors' computers and raised the money to buy one outright. It's not worth it in my opinion. Like ripster mentioned, I think mod time is best spent on things that aren't available off the shelf. Hell, if you come up with something cool enough, you could try selling it.
-
All you have to do is ask nicely.
This doesn't hurt, either:
(http://t1.gstatic.com/images?q=tbn:cHflN_y0BcFtNM:http://i976.photobucket.com/albums/ae243/synapomorphy/Gli%20alimenti/salami.jpg&t=1)
-
But then a lot of people at Geekhack like to buy a Beam Spring Keyboard and.... and.... sit and look at it.
:biggrin:
Though my roommate is trying to convince me to make a controller for it.
-
I'm currently doing this with my Apple M0110. It's plate mounted, I just desoldered the whole pcb and will continue without. Hand wire from there to a Teensy.
It was also much louder with the pcb.
-
I was talking to my friend about it in school today and he goes "The only thing keeping NKRO keyboards from having NKRO over USB is the specification right? Why not just do it yourself. It's not more than a few lines of code"
I don't know enough about that kind of stuff (he's a programmer) to comment back but would this work?
Also, yeah, I suppose there wouldn't really be a reason to do such a thing. Seems nice if you like the keyboard but they don't make an NKRO version of it.
I checked out the link to the Korean guy's post. Seems just as simple as I thought it would be, just time consuming.
-
Can't be hard if Microsoft did it.
Indeed ;-)
-
There's several of these in the Mods section of the forum.
What's interesting is it seems a simple HID changes and you get NKRO over USB. The only downside is I don't think anyone has coded it such to be able to work in BOTH in boot mode and OS mode like the Microsoft Sidewinder X4.
Can't be hard if Microsoft did it.
Getting it to work isn't hard: make the keyboard use 2 reports: a small, regular one with the legacy layout and an XL one with all the keys you can mash. Switching between them wouldn't be that hard if you kept an extra counter to decide if the legacy or XL report is needed.
The hard part comes at the tipping point: what to do if you're in legacy mode and have more than 6 keys? Ignore the new ones or throw the old ones out?
Anyway, I think the spec has enough room for experimentation, it's still the implementations where the problem's at.
Sadly, I still haven't got a Teensy to test the implementation side of things as PCJR won't accept PayPal anymore. Bad PayPal!
-
Let me know when you are done. You're the CodeChef.
Funny Rip. Funny.
I'll talk to him, do some research and see if it's even possible (I guess it should be)
-
The thing is, I don't even know where to start... I think JBert's got the right idea going, and I think his question is simple to answer. Ignore the new ones, just like keyboards do right now. But, having said that, I think this is a case of easier said than done...
-
Actually, as much fun as it is to bash at MS, they have a ridiculous number of smart people working for them. And that keyboard's controller, if I'm not mistaken, came out of a Microsoft Research project. You know, like the people that came up with the Courier, the Surface, and most of the other cool stuff at MS?
-
What's interesting is it seems a simple HID changes and you get NKRO over USB. The only downside is I don't think anyone has coded it such to be able to work in BOTH in boot mode and OS mode like the Microsoft Sidewinder X4.
According to USB specs, boot mode is entered via a command. So you don't have to do anything special, except support the two report modes - boot and default. "Default" is keyboard's preferred report mode, since you need to explicitly issue a command to enter boot mode.
-
You mean the iPad killer?
Yeah, what's up with THAT?
Microsoft Research doesn't necessarily reflect Microsoft as a whole, sadly. The whole bureaucracy could basically make all their cool efforts for naught because they don't see the profit. (I'm certainly wondering how InkSeine would've turned out if it went beyond a basic Microsoft Research side project. The Courier provides a glimpse...)
Back on track: I wonder what it would take to refit my IBM Model Ms with NKRO. Out of all the switch varieties I've tried, only buckling springs feel "just right" to me now, but they also end up being the boards with the least frills like that (since Unicomp clearly isn't doing anything radical with their Model M offshoots). However, I suspect that they'd be some of the boards that need a replacement controller in addition to diodes...
-
Beats me. Perhaps some legacy.
For example, current Filcos use Holtek MCUs, which are probably ROM-masked and (now I speculate heavily) few years old. 6KRO seems to serve the world okay, with the whiners being a tiny minority. Hell, even 2KRO are still alive and well.
-
That sounds even easier then.
So.........
Why is nobody other than Microsoft doing it?
I've posted it before: Microsoft noticed that some BIOS versions weren't sending the "switch protocol" command. The result:your keyboard isn't usable on those computers if it uses funky packets because the BIOS assumes that it uses only the legacy protocol.
They recommended in 1998 to have nothing else but the legacy mode. Of course, this no longer holds true today as most PC's seem to support USB HID decently.
-
I've posted it before: Microsoft noticed that some BIOS versions weren't sending the "switch protocol" command. The result:your keyboard isn't usable on those computers if it uses funky packets because the BIOS assumes that it uses only the legacy protocol.
They recommended in 1998 to have nothing else but the legacy mode. Of course, this no longer holds true today as most PC's seem to support USB HID decently.
Ahh, that's what it was :)
-
Here's a pic from my M0110 mod:
(http://www.frs635.com/keyboard/rows.jpg)
No columns yet, it won't stay that pretty. Columns are just wire though.
-
I've posted it before: Microsoft noticed that some BIOS versions weren't sending the "switch protocol" command. The result:your keyboard isn't usable on those computers if it uses funky packets because the BIOS assumes that it uses only the legacy protocol.
They recommended in 1998 to have nothing else but the legacy mode. Of course, this no longer holds true today as most PC's seem to support USB HID decently.
Fixing the things the MS way, after all the crap they put into USB.
Thanks for the info.