Author Topic: Truly Ergonomic missing right arrow key presses  (Read 61194 times)

0 Members and 1 Guest are viewing this topic.

Offline Architect

  • Posts: 254
  • TECK Lover
Re: Truly Ergonomic missing right arrow key presses
« Reply #100 on: Wed, 05 November 2014, 18:00:01 »
What makes me *very* suspicious is TE claiming that keyswitches somehow need "breaking in".

I didn't say they said that - I did. I got one of the bad boards, got a partial discount, then found that with use the bad switches corrected themselves. IIRC they recommended some key oil which tried but didn't work, but maybe that needed time to work it's way in. No idea otherwise.

Quote
Or you could read clickclack123s posts to see that they *have* done the relevant homework, etc.

I was making a joke, but whatever.

As for break in I've been using Cherry browns for 25 years. In the old days it was on Kinesis boards. I got one as did a few others at my work place. One of them actually got used until it simply wore out - the only Cherry keyboard I've ever seen in that condition. Anyhow I would replace mine after some 7 years (continuous daily use) because the plastic would get so dirty and worn. But I found that the Browns "worked in" by that point that they became entirely different. They "flowed like butter". Didn't click much at all (not that they click much), but they were really soft, but not like Reds. I think the springs wear down, and the plastic parts smooth off too after a few tens of thousands of hits.
« Last Edit: Wed, 05 November 2014, 18:05:48 by Architect »
TECK 209 Blank Keys; Leopold Number Pad; X-Keys Professional; X-Keys 84.

Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Truly Ergonomic missing right arrow key presses
« Reply #101 on: Wed, 05 November 2014, 18:12:29 »
"lemon product": a sarcasm way to mention that the product is faulty. Any product can have its “lemons”, which mean that even the best most precise and expensive product can be defective or become faulty after some use. NO product no matter the tolerance levels can become defective. Buying a lemon is usually due to lack of information.

"Buying a lemon is usually due to a lack of information"! WTF? It's the consumer's fault that TE can't produce a non-lemon??

Quality and precise products should have quality and precise QA that spots lemons before they go to the consumer. TE obviously does not have that, judging by the number of people experiencing these problems.

So logic dictates that TE are not producing a quality and precise product.

Quote
Quote
I read the FAQ before I bought it. I decided to buy it anyway. But just redefining something doesn't make it true. NKRO!=6KRO, despite what TE (and you?) say.

"Full N‑key rollover capability": means the product is capable of NKRO.
6‑key rollover plus modifiers IS restricted by USB specifications. If USB changes, then the TE would become NKRO.

Other keyboards that claim NKRO is because they are fooling the OS into thinking they are multiple keyboards at the same time, which in turn allows more the 6KRO, but it is only good for gaming.
Most USB-NKRO keyboards are not good (nor required) for normal typing because when you type fast with a fake NKRO the letters can show in a different order as typed due to the USB timings. So if you type 1234, it can show as 3412 - ok for gaming but bad for typing.

What difference does it make how they do it or if you think it's "required"? The TE is, by definition, not NKRO, despite their claims.

They say "our board is Full-NKRO, now here's why NKRO isn't possible over USB..."

Also, just for the sake of accuracy, NKRO is possible without emulating multiple keyboards. <baby troller mode ON> My Ergodox using TMK firmware does not show up as multiple keyboards.

I use NKRO for stenography using Plover. Not gaming.

And I think you'd have to press keys awfully fast to notice timing issues over usb, assuming well written firmware. USB and microcontrollers work at MHz speeds.

Quote
Quote
Firmware works flawlessly for you maybe. But I'm not the only one who's had these problems.

If your board was manufactured with faulty keyswitches, all of them can be faulty. This does not make the product a bad design or a bad manufacturing issue, the problem is just faulty switches.

Replace the switches and you would have a great board design that is reliable.

Another WTF. Manufacturing a board with faulty keyswitches is exactly what a bad manufacturing issue is.

Do you work for TE??

Or you could read clickclack123s posts to see that they *have* done the relevant homework, etc.

What makes me *very* suspicious is TE claiming that keyswitches somehow need "breaking in".

Actually, it is *very* uncommon.  In 45 years of IT work, most of which has been done using mechanical keyboards, I have *never* come across a keyswitch that needed "breaking in".  Broken keyswitches, yes.  Dirty keyswitches, yes.  But "breaking in"? That's "audiophool" levels of "assuming your customer is a ****ing idiot".  If your keyswitch registers twice, it's not an issue with the switch, it's that your firmware (or, in the case of hardware debouncing, hardware) is broken.  If it doesn't register at all, either the switch is broken, or, again, your firmware / hardware is broken.

Occam's razor, as usual, cuts through the bull****.  If Cherry keyswitches needed breaking in, and some percentage, no matter how small, misbehaved unless they had been broken in, *every* keyboard using Cherry keyswitches would be exhibiting this issue to some extent, with roughly the same percentage of problems.  Is that the case?  No, it's not, the problem is elsewhere.

Well written. I just can't believe that I'd have a 10% failure rate, assuming these are real Cherry MX switches. IMO it's got to be the firmware/hardware, unless they are fake switches.

Either way, it's really not acceptable for such an expensive board.

Neither is posts just complaining about other posts :)

Actually I'd say it is useful, it's trying to establish a baseline for whether it's a common or uncommon problem. If uncommon then perhaps it's due to misconfiguring, incorrect use, etc. which might warrant investigation (of course it could just be a problem with those switches he has too.)

Is it really possible to use a keyboard incorrectly?? It's not a complicated thing. You press a switch, it should show a key (once). All other keyboards that I've owned and used needed no configuration beyond changing the layout to my own preference, and I've never experienced double-press or missed press issues on any other keyboard, regardless of which firmware it was using.

if the switches work after some usage, then it is definitely not the firmware.

"break-in" is recommended only when the switches misbehave, in case the switch is filthy; nobody is saying is recommended for "every" TE board.
Who recommends this? I have never heard anyone else recommend that “breaking in” a broken switch will fix it. That seems unlikely. (I have heard people advocate “breaking in” switches to wear down some of the surface imperfections on the plastic of the slider/housing, to improve the feeling of scratchy, frictiony switches. That’s a totally different issue though.)

MX switches are for the most part known to be reliable. If there’s one faulty switch the keyboard should be RMA’d or the switch replaced. If there are a whole bunch of faulty switches, then perhaps Truly Ergonomic bought a bad batch of switches from some disreputable source? That still sounds pretty unlikely. A brand new switch is not in general going to be “filthy”.

More plausible explanations: sloppy soldering from a cheap assembly process, hardware problems with the microcontroller, badly designed/implemented firmware.

Why would the switches be "filthy" on people's new boards??

Either TE bought cheap switches, made the switches "filthy" during manufacture, can't write working firmware, or can't design/manufacture a working board.

What makes me *very* suspicious is TE claiming that keyswitches somehow need "breaking in".

I didn't say they said that - I did. I got one of the bad boards, got a partial discount, then found that with use the bad switches corrected themselves. IIRC they recommended some key oil which tried but didn't work, but maybe that needed time to work it's way in. No idea otherwise.
TE does claim that switches need breaking in - https://trulyergonomic.com/store/troubleshooting--truly-ergonomic-mechanical-keyboard#Double_Letters

Quote
It is not uncommon that some Mechanical keyswitches require to "break-in" before working properly; this means that the switch itself requires to be pressed several times before it performs properly.

We therefore ask you to un-plug your keyboard from your computer, press the misbehave key(s) several times with normal pressure for a couple of minutes, and then plug in your keyboard. This behavior usually disappears by itself after a few days of usage.
Quote
As for break in I've been using Cherry browns for 25 years. In the old days it was on Kinesis boards. I got one as did a few others at my work place. One of them actually got used until it simply wore out - the only Cherry keyboard I've ever seen in that condition. Anyhow I would replace mine after some 7 years (continuous daily use) because the plastic would get so dirty and worn. But I found that the Browns "worked in" by that point that they became entirely different. They "flowed like butter". Didn't click much at all (not that they click much), but they were really soft, but not like Reds. I think the springs wear down, and the plastic parts smooth off too after a few tens of thousands of hits.

But they never had to be "worked in" just to register presses properly, I assume?

What kind of oil did they suggest, and where to put it?

If your keyswitch registers twice, it's not an issue with the switch, it's that your firmware (or, in the case of hardware debouncing, hardware) is broken.
The design of the switch absolutely plays into such double-actuations. If the electrical contact is poor, extra actuations are much more likely, given whatever arbitrary debounce routine.

Since these are standard Cherry MX switches though, I agree it’s quite unlikely to be a problem with the switches.
I'd go further, actually.  I'm almost certain that it's  firmware issue, and as such it's likely a problem with 100% of TECKs, just that it's only seen by a certain percentage of users, due to the way they type. 

As an example, I'm known to break keyboards.  My typing causes double keypresses on the (execrable) Apple A1048 "white" keyboard, and missed keypresses on my X220's internal scissor switch board.  Both of these are "OK" for my wife.  I was the only one seeing missed keypresses on the M0116 equipped with hasu's converter; that turned out to be an obscure bug, but if I hadn't known the board was "good" with a different converter, it would have been easy to put it down to a broken 'board. Again, for my wife, typing on the board was OK.  Even my Tactile Pro drops keypresses (very) occasionally for me.  The 1048 is a rubber dome POS, so it doesn't really count, but there is definitely something about my typing, especially when I first hit the keyboard.  Mainly, I suspect, that I'm fast-ish, and I have a light touch.  It's odd that the 1048 gives me double keypresses, and the others are / were drops.  That said, debouncing a rubber dome is a different kettle of fish to doing the same on a quality mechanical switch.

Now, I find that accuracy with any of the "misbehaving" boards above gets better the longer I'm typing.  I strongly suspect that this is down to  my typing getting slower and less "controlled" as the day goes on, and, quite possibly, due to subconciously adjusting the way I type to the board I'm using.

I think you're right about all this. It has to be a firmware or hardware issue, assuming they are real Cherry Brown switches. None of the thousands of other Cherry Brown boards have switches that need "breaking in".

I'm also fast-ish with a light touch when typing as well. In fact, I have intentionally practiced being as fast as possible with a light touch so as not to bottom-out.

The thing that I've found most frustrating about the problems with this board is that it's changing the way I type, and not in a good way. I'm having to press harder on the first few letters of each word, and having to check as I go for double-letters/missed letters is killing my flow. When I do get a missed press, I bottom it out the next time and that usually works properly.

Really annoying when, eg you want to press Ctrl-C to copy, and it misses the press and doesn't copy the text. You have no way of knowing that it didn't work.

Typing is a chore on this board. The more fast into the flow I get, the more likely I am to get a double-press or missed key. If I just bottom-out and type slowly, it's fine. It's goddamn annoying. Hunt-and-peck ham-fisted typists would probably be fine, but it's really annoying for me as a light fingered touch typist.

The enter key seems to require a harder press than other keys as well, I'm not sure if it's something to do with the stabilizer on that key, or another switch that needs "breaking-in", but it's another gripe.

Anyway, the problems are just below the threshold for me to return the board. Sending it from here in Australia to Canada would be a large hassle, so I'm waiting and hoping they eventually get their firmware working properly. But as long as they claim it's switches that need breaking in, they're not working on the firmware. And I don't have a keyboard that I'd rather use at work anyway, unless I go back to a standard qwerty layout which I'd hate slightly more than a keyboard that is a bit flaky.
« Last Edit: Wed, 05 November 2014, 18:36:37 by clickclack123 »

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Re: Truly Ergonomic missing right arrow key presses
« Reply #102 on: Wed, 05 November 2014, 18:16:11 »
Weren't Cherry MX Brown switches actually featured on the Kinesis Contoured in 1992 first?

I've had a 1996 well-used compaq with browns. The switches were indeed were smooth, not scratchy like brand new browns. I tried to replace some switch parts and do some blind testing. Springs had no perceivable effect.

Offline Azteca

  • Posts: 29
Re: Truly Ergonomic missing right arrow key presses
« Reply #103 on: Wed, 05 November 2014, 20:08:59 »
Quote
It's the consumer's fault that TE can't produce a non-lemon??

Can you read the hole written paragraph? ALL manufacturers can have a lemon product somewhere in there at any time.

TE does claim that switches need breaking in - but only for a switch that does not work. (read the hole paragraph)


Quote
Ergodox TMK firmware achieves NKRO without showing as multiple keyboards

Please help or persuade Yuri Kahn (the person that enhanced the TE firmware) to add TMK NKRO firmware logic into the TE, so we all benefit from it.

Otherwise, enlighten us and explain how does Ergodox TMK firmware works to achieve NKRO without showing as multiple keyboards.


Quote
Manufacturing a board with faulty switches is exactly what a bad manufacturing issue is.

You are mistaken (again). Big difference between manufacturing procedures and standards, and the low quality of a part received from cherry.

Manufacturers cannot test every single switch they receive; they pay a high price to Cherry to receive high quality switches and sometimes they are the ones who get screw and receive a low quality untested batch. If TE receives a bad batch, boards will have defective switches. This is what we are saying happen with some boards and not only TE. You can volunteer to test every switch along a manufacturer if you feel like it, but after your first million switch you will see it is not worth it.


Quote
Either TE bought cheap switches, made the switches "filthy" during manufacture, can't write working firmware, or can't design/manufacture a working board.

You definitely have issues and have no idea how manufacturing works. Above claims can only come from a baby whining troller.


Quote
Typing is a chore on this board.

For someone that hates this board, you type a lot with it, and talk too much about it.


Quote
hoping they eventually get their firmware working properly.

Again, the firmware works properly.

The problem are faulty switches, or the driver (the person using the board).

Offline jacobolus

  • Posts: 3661
  • Location: San Francisco, CA
Re: Truly Ergonomic missing right arrow key presses
« Reply #104 on: Wed, 05 November 2014, 20:32:18 »
Otherwise, enlighten us and explain how does Ergodox TMK firmware works to achieve NKRO without showing as multiple keyboards.
It’s open source: you can read the code directly, and there’s a description of the report format here:
https://github.com/tmk/tmk_keyboard/blob/master/doc/USB_NKRO.txt

Quote
Quote
Manufacturing a board with faulty switches is exactly what a bad manufacturing issue is.
You are mistaken (again). Big difference between manufacturing procedures and standards, and the low quality of a part received from cherry.

Manufacturers cannot test every single switch they receive;
Sure they can, though building the robot which does the testing is certainly not trivial or free. Cherry for example tests every switch on every assembled keyboard before they ship it out the door.

QA/QC is absolutely the responsibility of any vendor, and a consumer who gets a keyboard with a defect should RMA it, and likewise a keyboard company who gets batches of bad parts from their upstream vendors should have some kind of guarantees written into their contract, because the buck stops with the company selling keyboards, and from the customer perspective the switches are mostly an implementation detail. (Of course, QA/QC is a trade-off like anything else, and it’s understandable that a small relatively new company with manufacturing outsourced to some Taiwanese (?) OEM is going to have a harder time than a company who has been in the business manufacturing their own stuff for decades.

Similarly with support. Responsive and helpful support is the responsibility of any vendor. When support is lacking, customers are well within their rights to be angry and stop buying future products from the same company. Again, it’s understandable that a small company with limited resources would have difficulty keeping up with support, but good support is just one of those inherent costs of doing business, if you want to maintain a good reputation.

In any event, if there is a pervasive issue with switch double actuations or dropped actuations it’s more likely that the problem lies with firmware/controller or assembly quality, rather than defective switches.

Finally, blaming the typist when a keyboard is buggy/broken seems nuts.
« Last Edit: Wed, 05 November 2014, 20:46:44 by jacobolus »

Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Truly Ergonomic missing right arrow key presses
« Reply #105 on: Wed, 05 November 2014, 22:04:45 »
Quote
It's the consumer's fault that TE can't produce a non-lemon??

Can you read the hole written paragraph? ALL manufacturers can have a lemon product somewhere in there at any time.

TE does claim that switches need breaking in - but only for a switch that does not work. (read the hole paragraph)

Yes but not at the level that these TE boards seem to have problems. Can't be that unusual if they have a whole page on their site about double-presses and missed presses, and other people on this forum have confirmed their experiences.

Perhaps your "w" key isn't working properly?  ;D I actually quoted two "hole" (sic) paragraphs from TE about the breaking in, as well as linking to the TE Troubleshooting page itself.

Quote
Quote
Ergodox TMK firmware achieves NKRO without showing as multiple keyboards

Please help or persuade Yuri Kahn (the person that enhanced the TE firmware) to add TMK NKRO firmware logic into the TE, so we all benefit from it.

Otherwise, enlighten us and explain how does Ergodox TMK firmware works to achieve NKRO without showing as multiple keyboards.

I hope you realize how silly you appear when you act like an expert and imply that it's not possible, then someone links to a page explaining exactly how it is achieved.

Anyway, every one of your posts has been in a similar vein.

Quote

Quote
Manufacturing a board with faulty switches is exactly what a bad manufacturing issue is.

You are mistaken (again). Big difference between manufacturing procedures and standards, and the low quality of a part received from cherry.

Manufacturers cannot test every single switch they receive; they pay a high price to Cherry to receive high quality switches and sometimes they are the ones who get screw and receive a low quality untested batch. If TE receives a bad batch, boards will have defective switches. This is what we are saying happen with some boards and not only TE. You can volunteer to test every switch along a manufacturer if you feel like it, but after your first million switch you will see it is not worth it.

I don't have a relationship with Cherry, I have a relationship with TE who supplied the keyboard. It is up to them how they source working keys, keycaps, cables, controllers, and whatever else.

I paid for a working keyboard. They can either supply that or they can't. In this case, they couldn't.

Quote

Quote
Either TE bought cheap switches, made the switches "filthy" during manufacture, can't write working firmware, or can't design/manufacture a working board.

You definitely have issues and have no idea how manufacturing works. Above claims can only come from a baby whining troller.

I may not be an expert like yourself, but even with my limited knowledge, I would have thought that manufacturing wasn't meant to produce non-working lemons that I have to solder to fix.

Quote
Quote
Typing is a chore on this board.

For someone that hates this board, you type a lot with it, and talk too much about it.

I'm just typing to break the switches in.   :-*

I don't hate this board. I like the layout, feel and physical dimensions of it. Unfortunately there's nothing else on the market that's suitable for my needs at the moment, except the Ergodox which is unsuitable for other reasons.

I'm just disappointed that it's critically let down by substandard programming/hardware. I had read the troubleshooting page about the double presses before I even bought it, I just hoped that even if I did see problems, their solutions would work. They didn't.

I have only typed this much to try and correct some of your misinformation. My first post in this thread was meant to just serve as a warning to anyone that might be thinking about buying one of these. I didn't intend to write any more than that.

Then you chimed in with all your nonsense about how it's my fault that the keyboard doesn't work properly and keyboards aren't meant to work correctly and I'm a troller for thinking otherwise etc etc.

You, sir, are the troller! Ka-blam!

Quote

Quote
hoping they eventually get their firmware working properly.

Again, the firmware works properly.

The problem are faulty switches, or the driver (the person using the board).

Forgive me, oh guru, if I don't agree with you. You are a righteous guru destined to walk the lonely earth alone, your only comfort the knowledge that although nobody agrees with you, you are still righteous in your conviction. Only with your passing will the misguided ones realize their mistake.

So can you please pass already?

re: the driver remark, I feel no need to comment on this, it really speaks for itself.
« Last Edit: Wed, 05 November 2014, 22:12:48 by clickclack123 »

Offline tufty

  • Posts: 347
  • Location: French Alps
Re: Truly Ergonomic missing right arrow key presses
« Reply #106 on: Thu, 06 November 2014, 12:11:29 »
I don't hate this board. I like the layout, feel and physical dimensions of it. Unfortunately there's nothing else on the market that's suitable for my needs at the moment, except the Ergodox which is unsuitable for other reasons.
I'm not sure how they're laid out internally, but frankly, if it was me, I'd have gutted the thing, frankensteined in a teensy, and had either Soarer or hasu's firmware running on it.

Again, the firmware works properly.

The problem are faulty switches, or the driver (the person using the board).

From https://www.trulyergonomic.com/store/troubleshooting--truly-ergonomic-mechanical-keyboard#Double_Letters, second suggested solution:
Quote
We have made enhancements to the Keyboard's Firmware that could fix the problem you are having.

Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Truly Ergonomic missing right arrow key presses
« Reply #107 on: Thu, 06 November 2014, 17:57:12 »
I'm not sure how they're laid out internally, but frankly, if it was me, I'd have gutted the thing, frankensteined in a teensy, and had either Soarer or hasu's firmware running on it.

I haven't looked inside myself but there's a partial pic at https://trulyergonomic.com/store/troubleshooting--truly-ergonomic-mechanical-keyboard#Reset

That would end up being a really messy hack if I did it, the microprocessor is bloody tiny.

Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Truly Ergonomic missing right arrow key presses
« Reply #108 on: Thu, 06 November 2014, 18:29:47 »
Man this keyboard is really bad today.

It's so strange because from minute to minute it's good then horrible. It'll work for a paragraph perfectly, then all of a sudden you can't get a word to type properly. I find it hard to believe that switches would change so drastically over such a short time. There just isn't that much in a switch to be so different from minute to minute. Maybe one or two switches, but not the whole keybed.

IMO, it must be a hardware/firmware issue/flaky capacitor or something.

And when it doesn't work, it seems like every key on the keyboard is not working properly. Both missed and double presses all over the place. A timing issue or something. Aaaaaaaaaaaaaaah!!!

I'm contacting the guy I bought it off on ebay to see how I can return it. It's very close to unusable today.  :'(

Offline hoggy

  • * Moderator
  • Posts: 1502
  • Location: Isle of Man
Re: Truly Ergonomic missing right arrow key presses
« Reply #109 on: Fri, 07 November 2014, 01:05:55 »
Yeah, it's hard to believe cherry forgot to sprinkle fairy dust on that many switches.
GH Ergonomic Guide (in progress)
http://geekhack.org/index.php?topic=54680.0

Offline tufty

  • Posts: 347
  • Location: French Alps
Re: Truly Ergonomic missing right arrow key presses
« Reply #110 on: Fri, 07 November 2014, 01:17:08 »
I'm not sure how they're laid out internally, but frankly, if it was me, I'd have gutted the thing, frankensteined in a teensy, and had either Soarer or hasu's firmware running on it.

I haven't looked inside myself but there's a partial pic at https://trulyergonomic.com/store/troubleshooting--truly-ergonomic-mechanical-keyboard#Reset

That would end up being a really messy hack if I did it, the microprocessor is bloody tiny.
I'd go "lower level", by finding the row and column lines, and connecting direct to them, removing the original mcu and any other electronics other than switches and diodes from the equation entirely.  That would, of course, require significantly more disassembly than shown in that photo.

I had a look to see if anyone had reversed the OEM firmware, or produced an alternative; nothing obvious showed up.  If I get around to it, I might have a shot myself.

Meanwhile, for those who are still defending TEK, this is something that cropped up in my search above, and which indicates the level of the problem : http://www.cataclysmicmutation.com/2014/03/28/truly-unresponsive/



Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Truly Ergonomic missing right arrow key presses
« Reply #111 on: Fri, 07 November 2014, 02:35:03 »
I'm not sure how they're laid out internally, but frankly, if it was me, I'd have gutted the thing, frankensteined in a teensy, and had either Soarer or hasu's firmware running on it.

I haven't looked inside myself but there's a partial pic at https://trulyergonomic.com/store/troubleshooting--truly-ergonomic-mechanical-keyboard#Reset

That would end up being a really messy hack if I did it, the microprocessor is bloody tiny.
I'd go "lower level", by finding the row and column lines, and connecting direct to them, removing the original mcu and any other electronics other than switches and diodes from the equation entirely.  That would, of course, require significantly more disassembly than shown in that photo.

Yeah, I would do that as well, but it would still be messy! Unless, and this is unlikely, it has nice spots to connect to.

Quote
I had a look to see if anyone had reversed the OEM firmware, or produced an alternative; nothing obvious showed up.  If I get around to it, I might have a shot myself.

https://github.com/yurikhan/teck/ has reversed the firmware, I believe his firmware is the one that the configurator on TE's site produces. I emailed Yuri and although he was helpful, he couldn't offer a solution that works when the same key produces both missed and double keypresses, other than writing my own debounce code which is a bit beyond me.

If you're capable, you could have a go... Pretty please??

Quote
Meanwhile, for those who are still defending TEK, this is something that cropped up in my search above, and which indicates the level of the problem : http://www.cataclysmicmutation.com/2014/03/28/truly-unresponsive/

Wow, great link. That's exactly what I'm experiencing. Especially when you get the doubled letter after the next one, say if you're trying to type "cat", you get "cact". It's crazy.

I'm starting to speculate that it might be some kind of passive on the board, like a cap or something. Because I don't believe that many switches could be faulty, and everyone's using "working" (at least for some) firmware. Maybe there's a cap that's borderline on the lemon boards somewhere.
« Last Edit: Fri, 07 November 2014, 05:15:16 by clickclack123 »

Offline tufty

  • Posts: 347
  • Location: French Alps
Re: Truly Ergonomic missing right arrow key presses
« Reply #112 on: Fri, 07 November 2014, 05:25:11 »
If you're capable, you could have a go... Pretty please??
Had a quick look.
The original code appears to be "debouncing" by reading a column, waiting for 75 µsecs, and then reading it again, ad infinitum, until they get two identical results.  Considering Cherry reckon 5ms debounce time*, it's almost guaranteed to fail horribly at some point.  Changing the wait period isn't going to help when your algorithm is fundamentally broken.

Yuri's code is much, much nicer, and far more likely to get a good result.  However, I'm led to believe that yuri's code is failing as well; I don't know the µC TE are using (or, indeed, the 80x1 architecture) very well, but my next guess would be an interrupt race condition or a need for more and better debouncing code.

I might also mention that the time a switch bounces generally *increases* as it gets older / more worn, another blow for TE's "breaking in" theory

Yeah, I would do that as well, but it would still be messy! Unless, and this is unlikely, it has nice spots to connect to.
On a keyboard, there's almost always a nice spot to connect to.  After all, at either end of each row and column, there's a bloody great through-hole mounted component.

The rows and columns should be pretty easy to spot, I found some (low resolution) photos of the TE PCB here - http://hieroglyphe.blog47.fc2.com/blog-entry-51.html

regards

Simon

* and who knows what the cheapo clones they are using require.

Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Truly Ergonomic missing right arrow key presses
« Reply #113 on: Fri, 07 November 2014, 06:04:33 »
If you're capable, you could have a go... Pretty please??
Had a quick look.
The original code appears to be "debouncing" by reading a column, waiting for 75 µsecs, and then reading it again, ad infinitum, until they get two identical results.  Considering Cherry reckon 5ms debounce time*, it's almost guaranteed to fail horribly at some point.  Changing the wait period isn't going to help when your algorithm is fundamentally broken.

Yuri's code is much, much nicer, and far more likely to get a good result.  However, I'm led to believe that yuri's code is failing as well; I don't know the µC TE are using (or, indeed, the 80x1 architecture) very well, but my next guess would be an interrupt race condition or a need for more and better debouncing code.

http://geekhack.org/index.php?topic=38943.msg759753#msg759753 says it's a Megawin MG84FL54BD, if that means anything to you. Haha how could it go wrong, with a name like "Megawin"!!

Quote
I might also mention that the time a switch bounces generally *increases* as it gets older / more worn, another blow for TE's "breaking in" theory

Yeah, I would do that as well, but it would still be messy! Unless, and this is unlikely, it has nice spots to connect to.
On a keyboard, there's almost always a nice spot to connect to.  After all, at either end of each row and column, there's a bloody great through-hole mounted component.

The rows and columns should be pretty easy to spot, I found some (low resolution) photos of the TE PCB here - http://hieroglyphe.blog47.fc2.com/blog-entry-51.html

regards

Simon

* and who knows what the cheapo clones they are using require.

True, I didn't think of connecting directly to the actual switches. I don't think I could fit a teensy neatly into the case though.

Good find of the pcb pics. Pity they're low res but still interesting. Another thing is that if I was putting a teensy in there, I could pretty easily add the extra keys for a 209 version while I'm at it.

edit: actually, thinking about it, the plate wouldn't have the correct cutouts. Damn.
« Last Edit: Fri, 07 November 2014, 06:37:51 by clickclack123 »

Offline jacobolus

  • Posts: 3661
  • Location: San Francisco, CA
Re: Truly Ergonomic missing right arrow key presses
« Reply #114 on: Fri, 07 November 2014, 12:45:14 »
The original code appears to be "debouncing" by reading a column, waiting for 75 µsecs, and then reading it again, ad infinitum, until they get two identical results.
Amazing!

Offline nomaded

  • Posts: 197
  • Location: Andover, MA
Re: Truly Ergonomic missing right arrow key presses
« Reply #115 on: Fri, 07 November 2014, 12:47:17 »
To me, this is sounding like a flaky solder connection on the controller. If you're willing to open it up (instead of trying to attempt an RMA to TECK or a return to the original buyer), I would check all the solder joints, especially the ones around the controller.
Dvorak
ErgoDox fullhand (MX Clears) w/Nuclear Green Data SA || Infinity ErgoDox (Zealios 78g tactile) w/SA Retro || Atreus62 (MX Clears) w/Chocolatier || TECK 209 (MX Browns) || TouchStream ST
Kensington Slimblade Trackball || Logitech Cordless Optical Trackman || Apple Magic Trackpad
Current Dvorak-based ErgoDox layout || Current Dvorak-based TECK layout

Offline Azteca

  • Posts: 29
Re: Truly Ergonomic missing right arrow key presses
« Reply #116 on: Fri, 07 November 2014, 12:49:35 »
Quote
I'm starting to speculate that it might be some kind of passive on the board, like a cap or something. Because I don't believe that many switches could be faulty, and everyone's using "working" (at least for some) firmware.

You are all overthinking and speculating too much. :confused:

Either you bought a used board that plunged from a tall building and it is broken, or your only problem is faulty switches.

Test all switches and mark faulty switches, open the keyboard, replace faulty switches, upgrade to newest firmware, and have a board that works and is of a great ergo design. :thumb:


Offline nomaded

  • Posts: 197
  • Location: Andover, MA
Re: Truly Ergonomic missing right arrow key presses
« Reply #117 on: Fri, 07 November 2014, 12:59:27 »
My experience with TECK hasn't been horrible like others have had.

Not too long after the TECKs were actually shipping, I bought two 109s -- one for home and one for the office. The one that's at home is still working great. I use it every day and have no complaints about it. The one that went to the office also worked fine, for a few months. But then I found that I could no longer actuate the 0/) key consistently. At my normal typing pace, sometimes it would actuate, but more likely than not, nothing would output. If I hit the key straight up/down with even pressure, the chances of it actuating would increase to near 100%. After researching this problem, I tried many things to fix this one key, but nothing would change this behavior.

So, after owning this keyboard for about 10 months, I decided to contact TECK to get a replacement, but I did not receive any reply from them. After trying to contact them off and on for about 3 months, I finally got an RMA email from them. I sent the 109 back to them and got a 209 as a replacement (this was soon after they starting shipping the 207/209 and released a way to update the firmware -- but no custom layout yet). Since then, the 209 has been going strong, with no complaints. Even though it's not my daily driver at the office anymore, it's still hooked up to one of the other computers at home, and I type on it several times a week.
Dvorak
ErgoDox fullhand (MX Clears) w/Nuclear Green Data SA || Infinity ErgoDox (Zealios 78g tactile) w/SA Retro || Atreus62 (MX Clears) w/Chocolatier || TECK 209 (MX Browns) || TouchStream ST
Kensington Slimblade Trackball || Logitech Cordless Optical Trackman || Apple Magic Trackpad
Current Dvorak-based ErgoDox layout || Current Dvorak-based TECK layout

Offline hoggy

  • * Moderator
  • Posts: 1502
  • Location: Isle of Man
Re: Truly Ergonomic missing right arrow key presses
« Reply #118 on: Fri, 07 November 2014, 16:16:24 »
Quote
I'm starting to speculate that it might be some kind of passive on the board, like a cap or something. Because I don't believe that many switches could be faulty, and everyone's using "working" (at least for some) firmware.

You are all overthinking and speculating too much. :confused:

Either you bought a used board that plunged from a tall building and it is broken, or your only problem is faulty switches.

Test all switches and mark faulty switches, open the keyboard, replace faulty switches, upgrade to newest firmware, and have a board that works and is of a great ergo design. :thumb:
Yeah, desoldering the entire board is a trivial matter...?
GH Ergonomic Guide (in progress)
http://geekhack.org/index.php?topic=54680.0

Offline jacobolus

  • Posts: 3661
  • Location: San Francisco, CA
Re: Truly Ergonomic missing right arrow key presses
« Reply #119 on: Fri, 07 November 2014, 16:18:44 »
Yeah, desoldering the entire board is a trivial matter...?
Lesson: don’t feed the “baby whining troller”.

Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Truly Ergonomic missing right arrow key presses
« Reply #120 on: Sat, 08 November 2014, 00:34:36 »
My experience with TECK hasn't been horrible like others have had.

<snip>

I decided to contact TECK to get a replacement, but I did not receive any reply from them. After trying to contact them off and on for about 3 months, I finally got an RMA email from them.

<snip>

That would be considered pretty horrible support if it was anyone but TE. But anything's better than nothing, right?

Offline tufty

  • Posts: 347
  • Location: French Alps
Re: Truly Ergonomic missing right arrow key presses
« Reply #121 on: Sat, 08 November 2014, 03:09:54 »
You are all overthinking and speculating too much.
I don't think so. If nothing else, statistics would seem to disprove it being a purely "faulty switches" issue

1 - You'd expect the same percentage of broken keyswitches on TE boards as other boards using the same keyswitches.  That's doesn't seem to be the case, at least going by the internet moaning, and I think we can expect that to be constant across people buying expensive mechanical keyboards.
2 - You'd expect a more-or-less even distribution of broken keyswitches across TE boards themselves.  Remember, we're talking about 10% of switches behaving erratically on affected keyboards, not just one switch.  Again, this doesn't seem to be the case.

There's manufacturing issues involved; that one person can get one board that works perfectly and another that has 10-15% of switches faulty almost certainly proves it. But I'm convinced there are still debouncing issues; the symptoms are classic.


Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Truly Ergonomic missing right arrow key presses
« Reply #122 on: Thu, 13 November 2014, 16:06:25 »
I also think it's definitely a firmware problem, because the keys are (rarely) working perfectly.

I do understand why it might register double presses if the debounce time is set too short, but what I don't really understand is how it can miss presses.

I would have thought that no matter how long you set the debouncing time, eventually the key would settle on being "on" and register a press. Does anyone have any explanation on why it doesn't?   :confused:

Offline jacobolus

  • Posts: 3661
  • Location: San Francisco, CA
Re: Truly Ergonomic missing right arrow key presses
« Reply #123 on: Thu, 13 November 2014, 16:59:05 »
I do understand why it might register double presses if the debounce time is set too short, but what I don't really understand is how it can miss presses. I would have thought that no matter how long you set the debouncing time, eventually the key would settle on being "on" and register a press. Does anyone have any explanation on why it doesn't?   :confused:
No, if you have a combination of really bad debouncing routine (or a really bad switch contact, or both), then it’s possible that you’ll press a key but the contact will keep bouncing a little bit throughout the press, and the firmware will never quite consider it pressed.

Offline tufty

  • Posts: 347
  • Location: French Alps
Re: Truly Ergonomic missing right arrow key presses
« Reply #124 on: Fri, 14 November 2014, 02:48:26 »
There's loads of ways it can happen.

No matter how it's done, the basic idea of debouncing is that you take a glitchy signal and watch it until it stops glitching.  There's a load of ways of doing this, but they all involve somehow detecting the "edges" where a signal goes from being bouncy to being solid and back again. 

The simplest way to do this is to take two simultaneous samples and see if they are the same.  The problem with this is what period to leave between samples.  Sampling theory says that you have to sample at at least twice the frequency to accurately map a waveform, but key bouncing can be anything from a few tens of hertz up to tens of megahertz, and you can't accurately sample a range like that with two samples at any one fixed period.  You'll probably eventually detect keypresses, but you'll almost certainly get a "bouncy" result and miss keypresses if the user doesn't leave the keys pressed for long enough.

"Okay", says the intelligent developer, "I'll accept that I probably can't accurately sample the signal, but if I sample continuously over a period of time, surely probability will mean that I get a more-or-less accurate result if I jigger about with the time period and number of samples", and, indeed, this is the case.  The tradeoffs here are :

- number of samples in a time period - more is better in terms of accurately detecting HF bounce, downside is required memory and processing time which might be tight on a keyboard controller.
- time period - again, longer is better in terms of detecting bounce (cherry reckon 5ms), but longer periods increase keyboard latency and, again, the possibility of missing keypresses.  Considering that we usually sample a column at a time, and a 102 key keyboard might have 18 columns, at 5ms debounce time you could well miss keypresses of under 100ms length, or even longer (see below).

The "fixed time interval" aspect of this approach also increases the possibility of missing keypresses.  Let's assume we're sampling accurately enough to detect all bounciness in the keyswitches, over a period of 5ms.  Now assume that for a single keypress, in sample period 1, the signal goes "clean" after the very first sample - we have one "zero" and a number (perhaps thousands) of "one"s.  The signal is properly considered as "bouncy" and ignored.  We go off and scan our other columns, and the next time round, as the key is still pressed, we start sampling "ones"s.  Now, even if the key *stays* pressed, we've added 90+ms of latency to the keypress.  That's bad enough, but let's now assume that the user lets go of the key *just* as we're about to stop sampling. So we get thousands of "one"s, and a single "zero".  Again, a "bouncy" signal, and we've missed a keypress of 90+ms length.

This fixed time interval also introduces *ordering* issues.  We might have 2 (or more, usually up to 8) keypresses detected on a single column in a single scan / debounce cycle.  But what order should we report them in?  One might have started 90+ms ago, and the other a nanosecond ago, but we have no way of knowing which.  So we report them in "row order" and hope for the best.

In short, better, but not nearly good enough.

Next approach is the "sliding window" approach.  It's similar to the above approach, but rather than sampling continuously for a period, we cycle through the columns taking one sample at a time, pushing the results into something like a push-down queue or a circular buffer (per column, obviously).  Then, as soon as a single "row" reading goes "clean", we report that change of state.  This largely does away with the ordering issues, and, assuming enough samples, most of the missed keys.  Tuning is done by changing the inter-sample time (i.e a delay loop at the end of each sampling cycle) and / or changing the number of samples.

Let's assume a 4 sample window taken over the classic 5ms period, with 4 bits per sample.  "s" is the sample number, 1, 2, 3 & 4 are the 4 bits sampled for this "column".
Code: [Select]
s : 1 2 3 4
1 : 0 0 0 0
2 : 0 0 1 0
3 : 0 0 0 0
4 : 0 0 1 1
5 : 0 0 1 0
6 : 1 0 1 1
7 : 0 0 1 1
8 : 1 0 1 1
9 : 1 0 1 1
a : 1 0 0 1
b : 1 0 0 0
c : 1 0 0 0
d : 0 0 0 0
At s = 0, no keys are pressed.
at s = 1, key 3 is pressed and starts bouncing.
At s = 4, key 3 goes "clean" and key 4 starts bouncing
At s = 6, key 4 goes clean, and key 1 starts bouncing.
at s = 7, key 3 has 4 "clean" samples (s = 4, 5, 6, 7), so we send a "key down" message (5ms latency from first "clean" sample)
at s = 8, key 1 goes clean
at s = 9, key 4 has 4 clean samples (s = 6, 7, 8, 9), so we send a key down message
s = a, key 3 samples 0, no longer has 4 clean samples, we send a key up message
s = b, key 1 has 4 clean samples (s = 8, 9 , a, b), key down message.  key 4 samples 0, key up message
s = d, key 1 samples 0, key up message

You'll note that there is latency to the key down messages, but not to the key up messages.  This can be rectified by requiring n zero samples before changing state, at the cost of possibly missing "quick" key down-up-down movements.

Typically, we'd integrate over 8, 16, or 32 samples, and, of course, 8 rows per column.  More samples = more memory and processing overhead (although the processing is all bitwise ops), less = more chance of missing keys and bounces.

The above is largely the approach taken by yuri's firmware, but I'm almost certain it's only integrating over 3 samples. Which would probably explain the missing keys issue - 3 samples isn't enough.

Once you've taken all this into account, I don't think the TE has a full nkro matrix (the firmware appears to be checking for ghosts; that said, teh PCB appears to have diodes for every key - mistake in reversing the firmware, or historical artefact in the firmware - who knows?), so you might have the firmware deliberately ignoring keypresses; combine this with slightly flaky debouncing and that could lead to missed keys as well.
« Last Edit: Fri, 14 November 2014, 02:54:57 by tufty »

Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Truly Ergonomic missing right arrow key presses
« Reply #125 on: Fri, 14 November 2014, 04:38:44 »
Thanks for the great explanation, tufty. At least now I have more of an idea why it isn't working.

You would be my hero if you could fix the firmware though. Don't you want to be my hero??  :rolleyes:

Offline tufty

  • Posts: 347
  • Location: French Alps
Re: Truly Ergonomic missing right arrow key presses
« Reply #126 on: Fri, 14 November 2014, 09:37:43 »
Unfortunately, I don't have a tested working debounce routine I can legally give you.  But what's probably needed is something like this more or less untested code.


Code: [Select]
#include <iostream>

#define byte char
#define TABLE_SIZE 16

byte debounce(byte debounced_value, byte sample) {
  byte prev, current, changes, i, new_tail, unstable_bits, stable_bits;

  // The circular buffer should be initialised in code
  static byte table[TABLE_SIZE] = {0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff};
  static byte tail = 0;

  // Get the current sample and stuff it into the circular buffer
  table[tail] = sample;

  // Move the tail onwards
  new_tail = (tail + 1) % TABLE_SIZE;

  // Loop through the circular buffer finding bits which have flipped
  for (i = new_tail, current = table[i], changes = 0x0; i != tail; i = (i + 1) % TABLE_SIZE) {
    prev = current;
    current = table[i];
   
    changes |= prev ^ current;
  }
  tail = new_tail;

  // Changes is now a bitmap of bits which are unstable in the buffer.
  // We take unstable bits from the current debounced value
  unstable_bits = debounced_value & changes;
  // And the rest from the current sample
  stable_bits = sample & !changes;
  return  unstable_bits | stable_bits;
}

int main (int argc, char** argv) { 
  // Current debounced value
  byte debounced_value = 0;
  byte sample = 0;

  while (1) {
    std::cin >> std::hex >> sample;
    debounced_value = debounce(debounced_value, sample);
    std::cout << "debounced 0x" << std::hex << static_cast<uint16_t>(debounced_value);
    std::cout << std::endl;
  }

  return debounced_value;
}


[/spoiler]

Prolly wanna lose all that ghosting detection (see https://github.com/yurikhan/teck/blob/master/TrulyErgonomic_209_v3.lst.annotated#L344) if the board is really NKRO, too.
« Last Edit: Fri, 14 November 2014, 09:51:12 by tufty »

Offline pepijndevos

  • Posts: 42
  • Location: Netherlands
Re: Truly Ergonomic missing right arrow key presses
« Reply #127 on: Mon, 08 December 2014, 02:00:18 »
So has anyone tried the modified firmware?

[edit] it seems the changes where merged by TE with they permission. I just flashed a new firmware. I'm curious if it's any better.
« Last Edit: Mon, 08 December 2014, 03:38:43 by pepijndevos »

Offline Sc0tTy

  • Posts: 167
  • Location: Netherlands
  • Ergo enthousiast
Re: Truly Ergonomic missing right arrow key presses
« Reply #128 on: Mon, 08 December 2014, 15:37:08 »
So has anyone tried the modified firmware?

[edit] it seems the changes where merged by TE with they permission. I just flashed a new firmware. I'm curious if it's any better.

No I haven't tried it, I don't want to brick the keyboard if it doesn't work :p

What do you mean by your last comment? (TE's website still says v3.40 and v4.0 for their firmware versions)
1x ErgoDox EZ
2x Truly Ergonomic Keyboard 229
2x Kinesis Freestyle V3-VIP
2x Bamboo Pen & Touch (Mouse replacement)
2x Salli Swing
1x Herman Miller Aeron

Offline MykB77

  • Posts: 45
  • Location: Ontario
Re: Truly Ergonomic missing right arrow key presses
« Reply #129 on: Tue, 16 December 2014, 01:19:39 »
Just used my TECK 209 after non-use for a while.  The 'n' was not registering and occasionally doubling.  The right space bar was frequently doubling.

A drop of iso-propyl alcohol into the depressed switch once the cap was removed and repeated pressing until it dried fixed both perfectly.

Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Truly Ergonomic missing right arrow key presses
« Reply #130 on: Wed, 17 December 2014, 23:27:33 »
Just used my TECK 209 after non-use for a while.  The 'n' was not registering and occasionally doubling.  The right space bar was frequently doubling.

A drop of iso-propyl alcohol into the depressed switch once the cap was removed and repeated pressing until it dried fixed both perfectly.

Is that an isopropyl alcohol spray bottle that you use, or an actual drop with a dropper?

Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Truly Ergonomic missing right arrow key presses
« Reply #131 on: Wed, 17 December 2014, 23:28:30 »
So has anyone tried the modified firmware?

[edit] it seems the changes where merged by TE with they permission. I just flashed a new firmware. I'm curious if it's any better.

Which modified firmware do you mean??

Offline MykB77

  • Posts: 45
  • Location: Ontario
Re: Truly Ergonomic missing right arrow key presses
« Reply #132 on: Thu, 18 December 2014, 00:34:01 »
Just used my TECK 209 after non-use for a while.  The 'n' was not registering and occasionally doubling.  The right space bar was frequently doubling.

A drop of iso-propyl alcohol into the depressed switch once the cap was removed and repeated pressing until it dried fixed both perfectly.

Is that an isopropyl alcohol spray bottle that you use, or an actual drop with a dropper?
Just a dropper and only a small drop.

Offline MykB77

  • Posts: 45
  • Location: Ontario
Re: Truly Ergonomic missing right arrow key presses
« Reply #133 on: Thu, 18 December 2014, 00:37:12 »
So has anyone tried the modified firmware?

[edit] it seems the changes where merged by TE with they permission. I just flashed a new firmware. I'm curious if it's any better.

Which modified firmware do you mean??
You can create and download a different layout as a custom firmware file on the trulyergonomic.com website and flash it onto the keyboard.

Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Truly Ergonomic missing right arrow key presses
« Reply #134 on: Thu, 18 December 2014, 21:45:13 »
So has anyone tried the modified firmware?

[edit] it seems the changes where merged by TE with they permission. I just flashed a new firmware. I'm curious if it's any better.

Which modified firmware do you mean??
You can create and download a different layout as a custom firmware file on the trulyergonomic.com website and flash it onto the keyboard.
That's what I'm using because I use the dvorak layout.

Offline Sc0tTy

  • Posts: 167
  • Location: Netherlands
  • Ergo enthousiast
Re: Truly Ergonomic missing right arrow key presses
« Reply #135 on: Fri, 30 January 2015, 13:20:51 »
So I put my 209 and 229 next to each other and did a comparison, check it out here: https://geekhack.org/index.php?topic=68255.msg1618728
1x ErgoDox EZ
2x Truly Ergonomic Keyboard 229
2x Kinesis Freestyle V3-VIP
2x Bamboo Pen & Touch (Mouse replacement)
2x Salli Swing
1x Herman Miller Aeron