Author Topic: $60 26KRO, or, how many Microsoft engineers does it take to put diodes in a keyboard?  (Read 5243 times)

0 Members and 1 Guest are viewing this topic.

Offline bhtooefr

  • Thread Starter
  • Posts: 1624
  • Location: Newark, OH, USA
  • this switch can tick sound of music
    • bhtooefr.org
http://www.engadget.com/2010/02/01/microsoft-busts-out-sidewinder-x4-anti-ghosting-keyboard/

Quote
The Applied Sciences Group, an interdisciplinary research and development team that works across the Microsoft Entertainment & Devices Division doing applied research for Microsoft Hardware, Microsoft Surface and Xbox 360, developed the anti-ghosting technology with gamers in mind. The advanced technology takes anti-ghosting to the next level by allowing gamers to press up to 26 keys at once. Because each key is scanned independently by the keyboard hardware, each key press is correctly detected regardless of how many other keys are being pressed at the same time. The SideWinder X4 Keyboard excels where other keyboards fail, letting users execute key combinations and taking full advantage of their skill and speed.


Of course, it'll be rubber dome...

Offline ch_123

  • * Exalted Elder
  • Posts: 5859
Great job Microsoft. You've sort of managed to accomplish what IBM did by accident in the 70s.

Offline Mental Hobbit

  • Posts: 461
Maybe this will put some pressure on other manufacturers to research that groundbreaking brand-new technology too.
Typing on blues.

Offline In Stereo!

  • Posts: 173
Quote from: ripster;155355

This is gonna put pressure on Logitech which is a good thing.



Oh yeah, so they won't have crap anymore ... but aggressively priced crap.

Offline itlnstln

  • Posts: 7048
They are too busy with the on-screen display.


Offline didjamatic

  • Posts: 1341
That board looks pretty clean for a gaming board, and I like how the F keys are smaller to shrink the board, but aren't so small that you have to look to use them.

IBM F :: IBM M :: Northgate :: Cherry G80 :: Realforce :: DAS 4

Offline D-EJ915

  • Posts: 488
    • http://dej915.darktech.org:777/
I like what sun did with the type 7, they got rid of the huge space in-between the F keys and regular ones but kept them the normal size.

Offline keyb_gr

  • Posts: 1384
  • Location: Germany
  • Cherrified user
    • My keyboard page (German)
Now I only hope that reliability will be a tad better than with the X6... *cough* failing keys *cough*
Hardware in signatures clutters Google search results. There should be a field in the profile for that (again).

This message was probably typed on a vintage G80-3000 with blues. Double-shots, baby. :D

Offline Xuan

  • Posts: 189
Quote from: webwit;155509
Sounds like you are coughing up keys. What did you do, eat them like soup?


It's the Keycap Pox

Offline msiegel

  • Posts: 1230
i'll bet they "cheated"... maybe attaching different resistances to the columns, or something like that :)

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bhtooefr

  • Thread Starter
  • Posts: 1624
  • Location: Newark, OH, USA
  • this switch can tick sound of music
    • bhtooefr.org
Remember, the Das III has 12KRO on USB... when it works...

Offline Mr.6502

  • Posts: 77
Looks a rehashed Razer keyboard.  Wonder what the odds are they just reskinned a Tarantula?

Those could do more than 20+ keys at a time over USB using generic MS USB HID drivers.  And they had the other macro junk the press release refers to.
"Engineers are really good at labeling and branding things ...  If we had named Kentucky Fried Chicken, it would have been Hot Dead Birds."

-Vint Cerf

Offline bhtooefr

  • Thread Starter
  • Posts: 1624
  • Location: Newark, OH, USA
  • this switch can tick sound of music
    • bhtooefr.org
Microsoft owns Razer now, so it's certainly plausible.

And, there's a way MS USB HID drivers could do it.

MS writes the drivers. 26KRO on their drivers, 6KRO for everyone else?

Offline Rajagra

  • Posts: 1930
If it literally works the way they state - "each key is scanned independently by the keyboard hardware" - then that's about as simple as it gets. A separate input port for each key. I'm surprised it took an entire interdisciplinary research and development team to come up with that brilliant concept. Of course Microsoft doesn't talk literally to it's customers, it does everything possible to obfuscate what it is really trying to say. We're just stupid users, after all. So who knows what they really mean?
Quote from: bhtooefr;155531
And, there's a way MS USB HID drivers could do it.
MS writes the drivers. 26KRO on their drivers, 6KRO for everyone else?

We can only hope so. Once a new standard is set you can be sure it will be copied faster than you can say "reverse engineering".
« Last Edit: Mon, 01 February 2010, 22:03:48 by Rajagra »

Offline bhtooefr

  • Thread Starter
  • Posts: 1624
  • Location: Newark, OH, USA
  • this switch can tick sound of music
    • bhtooefr.org
Right, but I'd think a 104-pin (plus USB and power pins) microcontroller would be horrendously expensive, compared to just adding diodes. I'd be damn surprised if they weren't using row-column scanning.

Offline Rajagra

  • Posts: 1930
There could be multiple 8-bit buffers, and a simple microcontroller could output an address to determine which buffer is being read at a given time, or something like that. But yes, that would be more expensive than using a bunch of diodes.

The real problem is, does it use a membrane switches? If so there is no easy way to put the diodes in the right places. And by easy I mean cheap, which is the whole point of membrane switches.

Maybe it's a development of the analogue keyboard they showed off before? I'm still not convinced that can work reliably for normal typing.

Offline msiegel

  • Posts: 1230
Quote from: Rajagra;155542
Maybe it's a development of the analogue keyboard they showed off before?

yeah, that's the ticket. they re-used that analog resistance technique to prevent the ghosting: a different fixed resistance for each key, maybe in a tiling pattern...

where's quadibloc (mr. combinatorics) to debunk this theory :)

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline ricercar

  • * Elevated Elder
  • Posts: 1697
  • Location: Silicon Valley
  • mostly abides
Quote from: ripster;155511
I'm still curious how they get 26 keys with a USB limit


It's not a USB limit. It's a USB HID Keyboard driver limit. With a custom driver, the sky's the limit.
I trolled Geekhack and all I got was an eponymous SPOS.

Offline kriminal

  • Posts: 424
my G15 didnt have nkro as far as im concerned... piece of crap imho
Geekhacked Filco FKBN87M/EB modified with Brown, black and blue cherries, doubleshot keycaps
Deck KBA-BL82 with Black cherries
Cherry G84-4100LCMDK-0 Cherry ML switches
Cherry G80-8200hpdus-2 Brown cherries
IBM Lexmark 51G8572 Model M Keyboard
Geekhacked Siig Minitouch KB1948
IBM Model M Mini 1397681

Offline itlnstln

  • Posts: 7048
Quote from: ricercar;155550
It's not a USB limit. It's a USB HID Keyboard driver limit. With a custom driver, the sky's the limit.

This.  Remember, this is a gaming 'board, so MS probably wrote some custom drivers and software for it, so it would seem plausable that the custom driver would allow the 26KRO.


Offline Mr.6502

  • Posts: 77
Quote from: bhtooefr;155531
Microsoft owns Razer now, so it's certainly plausible.

And, there's a way MS USB HID drivers could do it.

MS writes the drivers. 26KRO on their drivers, 6KRO for everyone else?


Ahh, didn't realize MS owns them.  That makes sense then.  As far as I can tell the Tarantula behaves like any other USB keyboard on other systems.  But on Windows XP through 7 using standard MS USB HID drivers it acts like the Razer software that it came with is installed.  I guess they integrated support for it with the standard drivers.
"Engineers are really good at labeling and branding things ...  If we had named Kentucky Fried Chicken, it would have been Hot Dead Birds."

-Vint Cerf

Offline keyb_gr

  • Posts: 1384
  • Location: Germany
  • Cherrified user
    • My keyboard page (German)
Quote from: Rajagra;155534
If it literally works the way they state - "each key is scanned independently by the keyboard hardware" - then that's about as simple as it gets. A separate input port for each key. I'm surprised it took an entire interdisciplinary research and development team to come up with that brilliant concept.

Actually that kind of concept was already patented like 20 years ago. It would probably be a mess to route. If anything, the resistance-based key discrimination (US Patent 6577250) would be more likely.
Hardware in signatures clutters Google search results. There should be a field in the profile for that (again).

This message was probably typed on a vintage G80-3000 with blues. Double-shots, baby. :D

Offline microsoft windows

  • Blue Troll of Death
  • * Exalted Elder
  • Posts: 3621
  • President of geekhack.org
    • Get Internet Explorer 6
I bet that keyboard feels terrible.
CLICK HERE!     OFFICIAL PRESIDENT OF GEEKHACK.ORG    MAKE AMERICA GREAT AGAIN MERRY CHRISTMAS

Offline quadibloc

  • Posts: 747
  • Location: Edmonton, Alberta, Canada
  • Layout Fanatic
    • John Savard's Home Page
Since many keyboards have custom drivers for their multimedia keys, including extra rollover - presumably triggered by a signal from the driver software, so the keyboard would follow the HID standard on bootup to be able to talk to the BIOS - is not hard.

I don't know how they will do it. Resistances, so that ghost keys are below a threshhold, are certainly possible; this would work, in practice, a lot like capacitance keyboards do.

You could have four membranes under the keys, with two different layouts, so that if you press enough keys to make ghost keys, the ghost keys would be different in the two cases.

Putting 104 pins on a chip isn't that impractical. Unlike trying to solder diodes to a membrane.

Of course, back in the old days, they used copper oxide to make diodes. One could print even very poor quality diodes on a memberane somehow, and make use of a small voltage drop to eliminate the ghost keys. There are many possibilities.

Offline bhtooefr

  • Thread Starter
  • Posts: 1624
  • Location: Newark, OH, USA
  • this switch can tick sound of music
    • bhtooefr.org
For that matter, I have an IBM mouse that can run in two modes - boots up in IntelliMouse mode, but there's a driver that sends a command to make it run in full ScrollPoint mode, where the mouse sends raw TrackPoint data, and lets the host computer make sense of it.

Offline Rajagra

  • Posts: 1930
The doubt I have about Microsoft's resistive method is this. You have a complex network of many variable resistances connected together, hooked up to a small number of inputs and outputs. You can treat the data you read as a big simultaneous equation. Mathematically speaking, it may not be difficult to calculate which keys are being pressed and how hard. But from a practical viewpoint, the readings must be phenomenally accurate to get good results. Detecting one keypress is easy. Detecting two keys slightly more unreliable, but doable. But by the time you have 6, 12, or 26 keys down, the results become increasingly uncertain.

Hence: very easy to give a convincing product demonstration (as they did), very hard to make it work with fast typing where multiple keys are being pressed in rolling motions, where the order is important.

It's a bit like claiming a blurry photo can be perfectly sharpened if you know how out of focus it was originally taken. Mathematically, you can. In practice the accuracy and bit depth isn't sufficient to allow it.

Offline msiegel

  • Posts: 1230
en... enhance?

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline sethstorm

  • Posts: 257
None.  The diodes are put in by overworked Chinese workers overseen by a corrupt Party official. Meitai, anyone?
Current:
IBM: Model M: 1391401, 1386887 Terminal 122 Key 
IBM: Model F: 6110668 Terminal 122 key with Trackpoint and M13 blacks
IBM: Specialty: Wheelwriter 5, Boltmodded.  AT F layout, M technology. 
Lexmark/IBM: M13 Black Trackpoint
NCR:HO150-STD1-01-17 Decision Mate V - The other Gray NCR linear.


Offline Megaweapon

  • Posts: 185
Quote from: msiegel;155789
en... enhance?


>
type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340">[/youtube]
Ancer Research Groop DFK191ABA11 IBM Model M13 Part 92G7461 (white) Rosewill RK-9000
Matias Tactile Pro 3 Apple Extended Keyboard II (ALPS)
Rosewill RK-9000I

Offline Rajagra

  • Posts: 1930
Quote from: msiegel;155789
en... enhance?


Tricks like unsharp mask are just an illusion, making the viewer perceive a level of sharpness without actually restoring detail.

Consider this picture of Albert Einstein:



I blurred it by applying a Gaussian blur of radius 12:



Looks a bit like Marilyn Monroe, doesn't it? This is how beer goggles work. You can get the same effect by squinting at picture 1.

If I try to 'enhance' the image by using unsharp mask with radius 12 strength 1 (not that these values are particularly relevant) I get this:



It looks a bit sharper and contrasty, but she won't be discovering new laws of physics any time soon.

Even though you know exactly how I made picture 2, you cannot recreate image 1 from it, because the file simply does not contain enough accurate information.

Offline Bullveyr

  • Posts: 386
  • Location: Austria
Hi guys!

I read geekhack occasionally for quite some time but as it seems nobody has posted this info yet (I'm dissapointed :D) I had the need to make an account.

Quote
The SideWinder X4 Keyboard is different because a small amount of carbon is printed at each switch site to prevent the key contacts from completely shorting rows to columns (see picture on left, below). Resistive multi-touch circuitry can then decode each key press independently. Because this is a relatively small change to the standard keyboard manufacturing process, Microsoft can offer true anti-ghosting at an unprecedented price point.


Source (with picture): MS Fact Sheets

PS: I have no typing skills but I love me Filco tenkeyless linear for gaming (mainly because it's more compact than my 7G). :)
Quote from: ripster;185750
Mechanical switches are mechanical.

Offline Rajagra

  • Posts: 1930
Thanks for the link. Confirms my suspicions, and my concerns in post 33 seem valid. I wonder how well these will work after a year or so of heavy use? Don't even think about liquid spills.

Offline JBert

  • Posts: 764
Quote from: Rajagra;155785
The doubt I have about Microsoft's resistive method is this. You have a complex network of many variable resistances connected together, hooked up to a small number of inputs and outputs. You can treat the data you read as a big simultaneous equation. Mathematically speaking, it may not be difficult to calculate which keys are being pressed and how hard. But from a practical viewpoint, the readings must be phenomenally accurate to get good results. Detecting one keypress is easy. Detecting two keys slightly more unreliable, but doable. But by the time you have 6, 12, or 26 keys down, the results become increasingly uncertain.

Hence: very easy to give a convincing product demonstration (as they did), very hard to make it work with fast typing where multiple keys are being pressed in rolling motions, where the order is important.

It's a bit like claiming a blurry photo can be perfectly sharpened if you know how out of focus it was originally taken. Mathematically, you can. In practice the accuracy and bit depth isn't sufficient to allow it.
Well, in their design a group of keys is scanned by measuring the voltage level over that group compared to ground.
If you print enough carbon traces on your membrane so that each resistor has an exponential value, you could use a standard ADC and treat the number you get from your ADC as a binary number: each bit of the resulting number corresponds with a certain key being pressed.

The larger the number of keys in a group, the smaller the measuring voltage tolerance is and thus the harder it becomes to measure the voltage accurately. But I'm sure they worked something out to do this, e.g. wire 4-6 keys to each circuit.

Multiple key presses are no problem as long as you get the scanrate right. ADCs can be selected at lots of rates so I don't see why it couldn't be done.
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 Shuki

  • Posts: 252
Razer Tarantula can do over 10 keys rollover Turbo mode so this is nothing new.

Looks a nice layout, some mechanical switches and it could be a winner!