Main > Main Forum

USB vs PS/2 vs COM vs LPT

<< < (14/43) > >>

Rick:
Can we please shut this down?  Tell me there's something in our rules about posting respectfully, because this is just sad.

JustMichael:

--- Quote ---Do you know better than me what I had for breakfast too?

--- End quote ---

I see you are making just as much sense as normal.


--- Quote ---

--- End quote ---

This is a different schematic than the one you did in ascii art form.  I based my drawing off of the ascii art one.  Also why do you insist on showing someone else's examples that have diodes when you say they are not needed?


--- Quote ---Matrix?

Do not try and bend the spoon. That's impossible. Instead... only try to realize the truth.
- I am not trying to do anything, I already did it. Wake up, Neo.

--- End quote ---

Funny you should choose this partial quote.  We are all hoping that you will realize the truth.


--- Quote ---
--- Code: ---     |---[/]........................ pin 10 (left)
     |             .     
     |---[/]........................ pin 11 (right)
     |             .   .
     |  |---[/].....   .               
     |  |              .
     |  |---[/]......... 
     |  |
     |  |
     |  |                                               
     |  ------------------------------ pin 3 (ground 2)
     |
     |-------------------------------- pin 2 (ground 1)

--- End code ---

--- End quote ---

Even this little ascii art schemtic is a matrix.  And yes it can have ghost presses too.  I will show you how.  Let's have pin 2 be ground and pin 3 be high.  We will hold down both switches that are connecting pin 3 to pin 10 and 11. Ok now let's hold down the switch connecting pin 2 to pin 10.  Now comes the "magic"...
The red line shows the path ground will take.  Please notice how it goes to both inputs even though NO switch directly connects pin 2 to pin 11.

MonMotha:

--- Quote from: DJ_Izumi on September 22, 2010, 09:00:07 pm ---
--- Quote from: JustMichael on September 22, 2010, 06:48:24 pm ---Thanks!!  I had no idea that was why the USB keyboards I have tried all have the same 6 key limit.   :applaud:

--- End quote ---

Cheap encoders on the keyboard.  I've seen some jam when you press more than three even.  Really depends on the quality of the keyboard encoder.  Of course obviously in most NORMAL cases a keyboard won't have you pressing more than 6 buttons ever.

--- End quote ---

Separate issue.

While the USB boot protocol standard limits the maximum number of simultaneous keypresses on a USB keyboard in boot protocol mode to 6, a specific keyboard may have additional limitations.  All keyboards use a matrix configuration since it drastically reduces the number of IOs required on the control chip.  This results in ambiguous situations when multiple keys are pressed (potentially any more than 2 with the likelihood of ambiguity increasing as more keys are pressed).  The USB HID standard requires that the keyboard report no keypresses and instead report "Rollover error" in the event an ambiguous condition or more than 6 pressed keys occurs.

Using discrete IOs for each input, rather than a matrix, will eliminate this ambiguous input problem, but it's cost prohibitive on PC keyboards with their 104+ keys.  The keyboard encoder devices sold for arcade and other general-purpose input interfacing DO use discrete inputs in most cases I've seen.



--- Quote from: Driver-Man on September 22, 2010, 09:38:59 pm ---MonMotha,

I like your super-powers, most impressive. Do you know what is actual, or most likely, bottleneck in the whole story with USB and keyboard controller, and how many scan codes per second that comes down to? Do you know at what rate PS2 DualShock and clones can generate data, and if that thing is plugged via PC USB what would set the bottleneck then?

--- End quote ---

Please read the USB HID standard.  It details every little part of USB HID.  USB HID does not work the way you seem to think it does.  A USB HID device updates its ENTIRE STATE to the host every time it is polled; it does not attempt to send "just what changed" like a PS/2 keyboard does which makes "number of scancodes per second" an irrelevant statistic.  Incidentally, this is exactly what a DualShock does (and most other console game controllers, as well).

For a boot protocol keyboard, the format of the update limits the device to 6 simultaneously activated inputs, but non-boot protocol devices need not have this limitation.  It's actually possible to create a USB HID device that speaks a format very similar to that of a DualShock (to the extent that you could actually just dump the "data" section of a DualShock's communication into a USB packet with the appropriate headers!).

severdhed:
i feel so stupid for reading this entire thread

DaOld Man:
At the risk of getting stuck like a fly to a sticky fly strip:

If pin 2 is high and pin 3 is low, and you press two buttons at the same time, wont that connect pin 2 to pin 3, thus making a direct short on the parallel port?

Im not trying to claim to be an expert, but with the research Ive done on the parallel port, the output pins (2-9) are either high (+ 5 VDC), or low (ground).
And they are only good for a few milliamps, so it looks to me like you would short out the outputs and probably fry your board.

To quote Forrest Gump: "And thats all I got to say about that."

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version