Why would a computer swap letters around when typing very fast?

4

2

A friend of mine's having trouble with her computer. When typing really fast, the letters get swapped around.

All my years working with computers I've never encountered this. I'm guessing virus.

An example: s cterompus uck! (computer suck!)

As you can see, some of the letters are in completely the wrong place, which means the computer must buffer them, and output them in the wrong order.

What's causing this?

fluffels

Posted 2010-08-31T09:23:13.207

Reputation: 205

1I have the same problem when I type too fast. I my case, the letters are swapped by my fingers, not by the computer. – mouviciel – 2016-05-26T14:00:06.180

6Just to be sure, it happens only on this keyboard? Did this friend try another keyboard, did someone else try the keyboard? – Gnoupi – 2010-08-31T09:37:21.090

4Could you try making you test more objective, by typing something like: qwertyuiop over and over again and see if OTHER characters get added in or the order is totally messed up. This way we know it's reproducible. Also mention in what kind of software you get this problem (or everywhere) – Ivo Flipse – 2010-08-31T09:43:15.137

This is very easy to reproduce on any OS X macbook pro. Just type "once you" really fast a few times; it will come out as "once oyu" almost invariably. You have to type it extremely fast, and I'm not sure which keys need to be held through. It's unrealistic to expect fast typers to undepress all the keys before depressing the next one though. I am also 100% sure my finger hit the "y" key before the other two. – pete – 2018-04-10T07:13:16.057

I figured out an even more reliable way: "let you" comes out as "let oyu". I believe it's the "y" key that has to be held at least past the pressage of the "o" key. – pete – 2018-04-10T07:19:37.700

Answers

7

With cheaper keyboard designs and why "gaming" keyboards are more expensive. Most keyboards use a matrix (see http://en.wikipedia.org/wiki/Rollover_%28key%29) and a really fast typist can cause the keyboard to incorrectly register key presses (I am seldom this fast). A better external keyboard is likely the best solution.

jtreser

Posted 2010-08-31T09:23:13.207

Reputation: 940

4

This answers the question brought up here, which is similar but not identical to this question.

This comes down to how fast the keyboard can scan its keys.

Most less expensive keyboard designs will scan keys sequentially, from left to right and from top to bottom. This is cheap and easy to implement, but as you've observed, will tend to cause transposition of letters when typing at very high speeds.

Professional and gaming keyboards will generally scan faster than cheaper keyboards and are less likely to transpose letters in this fashion. In particular, while consumer-grade keyboards generally poll at only 125 Hz, which can easily cause problems when typing fast, gaming keyboards typically poll at 1000 Hz, which is much less likely to result in erroneous registration.

Furthermore, key switches (or any other electrical switches) are subject to bouncing, which means that when actuated, the switch needs some time to settle to a electrically stable state. As such, to avoid erroneous behavior, the keyboard electronics need to wait a bit when reading the state of the key. This delay is typically on the order of 20 ms. Mechanical key switches of the kind found in more expensive keyboards tend to need less time for this debouncing process than typical membrane key switches. In fact, keyboard and key switch manufacturer Cherry (whose MX switches are recognized as the gold standard for mechanical keyboards) has gone so far as to use analog readout of the key switches in the MX Board 6.0 to practically eliminate this debouncing delay and maximize responsiveness.

bwDraco

Posted 2010-08-31T09:23:13.207

Reputation: 41 701

3

Is this a laptop with a trackpad? I had all kinds of cursor randomness on a (now-ancient) Dell laptop with a Synaptics trackpad. My palm pressure on the near edge of the deck caused false trackpad input and jumped the cursor around randomly while I was typing. My solution then was to use an external mouse and disable the trackpad.

Today, my Macbook's trackpad - and probably most others - has an option to Ignore Input While Typing, or Ignore Accidental Input, or something similar. Using that option, I can now type up to speed and expect that what I type is what I'll get.

JRobert

Posted 2010-08-31T09:23:13.207

Reputation: 6 128

1

It could be a bad keyboard controller on the motherboard. It is essentially a slightly programmable 4-bit microcomputer.

It could be installed software that is looking for activation keystrokes.

It could be sticky keys (delayed delivery of scan codes) by the keyboard.

It could be something else I didn't think of....

kmarsh

Posted 2010-08-31T09:23:13.207

Reputation: 4 632

0

Depending on the implementation of NKR (N-Key rollover), the keyboard may require diodes to stop 'ghosting' which is what you are experiencing.

This basically stops the scan signal from bouncing through one key connection to the other side and then back again thus resulting in different interpreted data to the microcontroller which thinks that you have pressed a different key.

It would be ridiculous to have 100 different pins on a micro controller for 100 different keys so what they do is have two rails (i.e. high side and ground) with a bunch of keys on those rails, where the key press connects the high and ground and thus a signal can pass. This is done by sending square waves out the high and then essentially 'timing' how long it will take for that signal to get back (see debouncing)

Diodes (as they are essentially one way electrical valves) stop this signal from jumping from the high rail to the ground rail back to the high rail and back to the ground rail, if you follow me. As this would change the time/position, of the signal and be interpreted as a different keystoke

EDIT: There are a bunch of these rail sets on the keyboard, each one controls 8-12 keys or so, depending on the layout

Jaffers

Posted 2010-08-31T09:23:13.207

Reputation: 31