mardi, septembre 02, 2008

Logitech Illuminated Keyboard

I am proud that my team delivered firmware for the new Logitech illuminated keyboard.


I especially appreciate working with this keyboard because it is illuminated. This is useful when you surf on the web or watch a video in the evening and you do not want to be disturbed by anything else than the computer screen.
Something positive is also the fact that you choose the illumination level, as opposed to some automatic ambiant light system which choose the level for you.

This development was a challenge for our swiss team, as we are more specialized in developing wireless keyboards. We had to use a new chip that we had little experience with. The biggest obstacles we encountered was not because of the chip itself, but because of the compiler badly translating the C language to assembly code: "what you write, is not what you get". And this triggered some bugs that we had great difficulties to track and correct.

2 commentaires:

Eric Mariacher a dit…

Dear SbuxReg,

What you encountered is called a ghost key issue. "IME" is a condition in this keyboard that if you type the 3 letters at the same time fast typers may encounter an issue. The issue is not a firmware issue per se but is due to the way the membrane below the keys is organized (routed).

to reproduce and see the issue use ftp://ftp.digitalgenesis.com/pub/keyscan/

What you are experiencing is that when you type 3 IME keys at the same time one of these disappear.

in detail:
step 1: press I
step 2: press M
step 3: press E
step 4: releasing E before I or M
result: E is "forgotten"

From here 2 conclusions:
*1* we try to avoid those conditions for english on american keyboards but keyboards are also made for other "foreign" languages.
*2* we think that most fast typers will not encounter the problem because they will do the following

in detail:
step 1: press I
step 2: press M
step 3: press E
step 4: releasing I then M the E
result: all 3 keys are typed in the right order I M E

Jason Hunter a dit…

That's understood that blocking must be considered for all languages, but there's still no excuse for putting up blocking on common phrases, like INE and N'T.