Author Topic: MAKING a keyboard NKRO  (Read 9757 times)

0 Members and 1 Guest are viewing this topic.

Offline CodeChef

  • Thread Starter
  • Posts: 280
MAKING a keyboard NKRO
« 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 would probably work, right? All the specs seem within reason but I don't really know what kind of current is flowing in keyboards...
« Last Edit: Wed, 01 December 2010, 11:39:28 by CodeChef »
[sigpic][/sigpic]

Offline Phaedrus2129

  • Posts: 1131
MAKING a keyboard NKRO
« Reply #1 on: Wed, 01 December 2010, 11:41:29 »
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.
Daily Driver: Noppoo Choc Mini
Currently own: IBM Model M 1391401 1988,  XArmor U9 prototype
Previously owned: Ricercar SPOS, IBM M13 92G7461 1994, XArmor U9BL, XArmor U9W prototype, Cherry G80-8200LPDUS, Cherry G84-4100, Compaq MX-11800, Chicony KB-5181 (SMK Monterey), Reveal KB-7061, Cirque Wave Keyboard (ergonomic rubber domes), NMB RT101 (rubber dome), Dell AT101W

Offline itlnstln

  • Posts: 7048
MAKING a keyboard NKRO
« Reply #2 on: Wed, 01 December 2010, 11:51:38 »
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.


Offline sixty

  • Posts: 984
    • http://deskthority.net
MAKING a keyboard NKRO
« Reply #3 on: Wed, 01 December 2010, 11:58:09 »

Offline Soarer

  • * Elevated Elder
  • Posts: 1918
  • Location: UK
MAKING a keyboard NKRO
« Reply #4 on: Wed, 01 December 2010, 12:03:03 »
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.

Offline itlnstln

  • Posts: 7048
MAKING a keyboard NKRO
« Reply #5 on: Wed, 01 December 2010, 12:13:44 »
Quote from: ripster;254989
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.


Offline itlnstln

  • Posts: 7048
MAKING a keyboard NKRO
« Reply #6 on: Wed, 01 December 2010, 12:33:46 »
All you have to do is ask nicely.

This doesn't hurt, either:



Offline HaaTa

  • Master Kiibohd Hunter
  • Posts: 794
  • Location: San Jose, CA, USA
  • Kiibohds!
    • http://kiibohd.com
MAKING a keyboard NKRO
« Reply #7 on: Wed, 01 December 2010, 12:45:00 »
Quote from: ripster;254989
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.
Kiibohd

ALWAYS looking for cool and interesting switches
I take requests for making keyboard converters (i.e. *old keyboard* to USB).

Offline lowpoly

  • Posts: 1749
MAKING a keyboard NKRO
« Reply #8 on: Wed, 01 December 2010, 13:55:43 »
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.

Miniguru thread at GH // The Apple M0110 Today

Offline CodeChef

  • Thread Starter
  • Posts: 280
MAKING a keyboard NKRO
« Reply #9 on: Wed, 01 December 2010, 14:00:58 »
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.
[sigpic][/sigpic]

Offline Soarer

  • * Elevated Elder
  • Posts: 1918
  • Location: UK
MAKING a keyboard NKRO
« Reply #10 on: Wed, 01 December 2010, 16:31:53 »
Quote from: ripster;254972
Can't be hard if Microsoft did it.


Indeed ;-)

Offline JBert

  • Posts: 764
MAKING a keyboard NKRO
« Reply #11 on: Wed, 01 December 2010, 16:40:12 »
Quote from: ripster;254972
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!
IBM Model F XT + Soarer's USB Converter || Cherry G80-3000/Clears

The storage list:
IBM Model F AT || Cherry G80-3000/Blues || Compaq MX11800 (Cherry brown, bizarre layout) || IBM KB-8923 (model M-style RD) || G81-3010 Hxx || BTC 5100C || G81-3000 Sxx || Atari keyboard (?)


Currently ignored by: nobody?

Disclaimer: we don\'t help you save money on [strike]keyboards[/strike] hardware, rather we make you feel less bad about your expense.
[/SIZE]

Offline CodeChef

  • Thread Starter
  • Posts: 280
MAKING a keyboard NKRO
« Reply #12 on: Wed, 01 December 2010, 16:43:20 »
Quote from: ripster;255162
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)
[sigpic][/sigpic]

Offline CodeChef

  • Thread Starter
  • Posts: 280
MAKING a keyboard NKRO
« Reply #13 on: Wed, 01 December 2010, 16:56:50 »
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...
[sigpic][/sigpic]

Offline theferenc

  • Posts: 1327
MAKING a keyboard NKRO
« Reply #14 on: Wed, 01 December 2010, 18:26:27 »
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?
HHKB Pro 2 -- Custom UNIX layout Unicomp Customizer 101 -- IBM Model M 1391401 (modded to UNIX layout) -- IBM 1397000 (also UNIX layout) -- SSK in UNIX layout -- Model F 122 key in UNIX layout (Soarer USB "native")
 
CST L-TracX trackball -- Kensington Expert Mouse trackball

woody

  •  Guest
MAKING a keyboard NKRO
« Reply #15 on: Wed, 01 December 2010, 20:01:08 »
Quote from: ripster;254972
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.

Offline NamelessPFG

  • Posts: 373
MAKING a keyboard NKRO
« Reply #16 on: Wed, 01 December 2010, 20:23:42 »
Quote from: ripster;255266
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...

woody

  •  Guest
MAKING a keyboard NKRO
« Reply #17 on: Wed, 01 December 2010, 20:29:08 »
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.

Offline JBert

  • Posts: 764
MAKING a keyboard NKRO
« Reply #18 on: Thu, 02 December 2010, 15:29:58 »
Quote from: ripster;255284
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.
IBM Model F XT + Soarer's USB Converter || Cherry G80-3000/Clears

The storage list:
IBM Model F AT || Cherry G80-3000/Blues || Compaq MX11800 (Cherry brown, bizarre layout) || IBM KB-8923 (model M-style RD) || G81-3010 Hxx || BTC 5100C || G81-3000 Sxx || Atari keyboard (?)


Currently ignored by: nobody?

Disclaimer: we don\'t help you save money on [strike]keyboards[/strike] hardware, rather we make you feel less bad about your expense.
[/SIZE]

Offline Soarer

  • * Elevated Elder
  • Posts: 1918
  • Location: UK
MAKING a keyboard NKRO
« Reply #19 on: Thu, 02 December 2010, 15:41:43 »
Quote from: JBert;255867
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 :)

Offline lowpoly

  • Posts: 1749
MAKING a keyboard NKRO
« Reply #20 on: Fri, 03 December 2010, 06:39:15 »
Here's a pic from my M0110 mod:



No columns yet, it won't stay that pretty. Columns are just wire though.
« Last Edit: Fri, 01 June 2018, 10:00:05 by lowpoly »

Miniguru thread at GH // The Apple M0110 Today

woody

  •  Guest
MAKING a keyboard NKRO
« Reply #21 on: Fri, 03 December 2010, 06:59:43 »
Quote from: JBert;255867
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.