9 ms·
Anti-Ghosting
- eyelidlessness 6y agoNot directly related to the post, but disabling `word-break: break-all` on `.section .ans` made the text a lot more readable for me.
- surround 6y agoIt’s nearly impossi ble to read on mobi le. Luckily, most b rowsers have some s ort of a “reader mo de” which solves th e problem.
- game_the0ry 6y agoAs a front end engineer, I can't believe what I am seeing. Someone got paid to make that. They looked at the finished outcome and said, 'eh, good enough to deploy to prod.' If that's how bad they are at web design, I wonder how bad their products are.
- projektfu 6y agoSomeone made the explicit decision to break in the middle of words without hyphenation. Very strange. Or, they reused something without any idea what it did.
- eyelidlessness 6y agoHey now, try not to crap on the work of people whose circumstances you don't know. A quick glance at the HTTP response shows the page is served by Plesk. It's often the case that off the shelf software like this is selected, along with a "nice looking" theme, by someone with no technical background. And it's also often the case that said "nice looking" themes have not been built to accommodate the use case they're applied to.
- game_the0ry 6y agoYou're too kind, my friend.
- renewiltord 6y agoWouldn't it make sense that they're better for being bad at the non-critical stuff? Assuming the market will pay X for their goods, mostly dependent on the goods' quality Q and very little on W. Assume that it costs Y to build the product (and that higher Y leads to higher Q) and Z to build the webpage (and that higher Z leads to higher W). Assume that they want the profit to be as high as possible. Then they'll want Y+Z to be as small as possible, and you would hope that most of that cost-cutting is in Z so that Y+Z is as close to Y as possible.
- rangibaby 6y agoThat property is a feature for East Asian scripts, they probably made it look right in those languages and didn’t notice the regression in Latin script
- aarongolliver 6y agoIt's my first time trying something like this, but I played around in the console and if you copy/paste this into it the issue is fixed document.getElementsByClassName('ans')[0].attributeStyleMap.set('word-break', 'normal')
- cryptonector 6y agoYou can find the style using the inspector and then just change. Much faster that way, though not as cool as writing some JS, I admit.
- eyelidlessness 6y agoFinding it by knowing the dev tools is a technique not everyone has at their disposal. I offered the suggestion of how it could be fixed, someone provided a copypasta to do it for everyone regardless of familiarity with the dev tools. That should be applauded!
- aarongolliver 6y agoThank you for this. I thought the usefulness of being able to press "ctrl-c, f12, ctrl-v, enter" would be self evident.
- eyelidlessness 6y agoWell, as a long time web dev who's been backend only for a few years now, so my frontend skills are rusty, you taught me something new. I didn't know about `attributeStyleMap`. Way to go first time!
- cryptonector 6y agoYay browser consoles.
- deleted 6y ago[deleted]
- lrsjng 6y agoWhat is the technical difference between points 2) and 4)? Why is it in example 2) possible to identify the two keys?
- burnte 6y agoYes, actually, you can still determine the keys. The usual method is to scan the rows and/or columns one by one and then you always only have one row and column active at a time, so you can determine individual keys. However, if you strobe too slow you can miss keystrokes.
- TheRealPomax 6y agoPresumably the different colors paired with "so long as the keys in question fall into mutually discrete columns and rows." means they keyboard is actually "several keyboards" at the hardware level, and different keys activate different logic boards for processing.
- kps 6y agoThe article isn't very good. A keyboard is scanned by pulsing each row individually and checking which columns become active because a pressed key connects them. (Or vice versa.) In (2), when the green row is pulsed, only the green column becomes active, because it's connected to the green row by the pressed key (upper left red dot). In (4), when the upper of the two green rows is pulsed, both the green columns become active — the first because the upper-left red dot is pressed, and the second because there is a path through all three of the red dots (pressed keys). So the keyboard senses a key press at the dotless intersection, even though that key is not pressed. Better keyboards solve this problem with a diode on each key, so that the roundabout path can't happen. Cheap keyboards rearrange the rows and columns into squiggly paths so that the three-key pattern doesn't happen very often, being especially careful with the modifier keys.
- lmilcin 6y agoAs I have mentioned somewhere else, I can't explain this by anything else than lazy design. Surface mount diodes are extremely cheap and their cost pales in comparison with the cost of accompanying switch or even LED.
- jeromescuggs 6y agothis is only somewhat related, but i count my old coolermaster masterkeys S as my favorite keyboard of all time, it was nice and utilitarian and came with some absolutely fantastic keycaps - for about 80 bucks. damn shame they "updated" their product lines to appeal to gamers or something, and started taking their cues from corsair and not like, filco. i have the misfortune of being the guy my friends, family etc call when their computers go bork and one of the little things that just really shine is the easy function-key-shortcut builtin to the board that will swap between windows- and mac style modifier layouts, it wound up being far more than some bellwhistle i initially thought it would be unfortunately since it was my first real mech it also was something of a guinea pig. i learned to solder switches by swapping them out, and the connections are kinda janked now, and i sometimes have to wack it like an old TV to get it to register certain keypresses. i'm currently using a durgod TKL, it's almost a suitable equal in all the areas that made me love the CM board.. but man i wish i'd been able to snag another masterkeys, even used, before the supply dried up.
- justin66 6y ago> i wish i'd been able to snag another masterkeys, even used, before the supply dried up Are you interested in a Masterkeys S with cherry blue switches? I switched to a Durgod with brown switches and couldn't be happier.
- tincholio 6y agoUsing diodes and a quick enough scan cycle, this is a non-issue.
- mark-r 6y agoYes, that solution has been known since at least the 1970's. The cost and complexity of adding all those diodes was an impediment in the old days, not sure how much of an issue it is today.
- tincholio 6y agoI did it for a hand-wired keyboard, and the total cost was under 1USD, and no real complexity was added (I just used the diodes as the row wiring, the only thing to keep in mind was having the correct orientation). For modern manufacturing, there's no excuse not to use diodes in the circuit.
- deleted 6y ago[deleted]
- shk1338 6y agoBy the way, for anyone interested in the "real" keyboards – welcome to the r/MechanicalKeyboards and QMK firmware, you will not want to buy Cooler Master after getting familiar with these resources.
- a_t48 6y agoCare to elaborate?
- cryptonector 6y agor/MechanicalKeyboards is a sub-reddit dedicated to making custom keyboards, salivating over neat keyboards, and hating on topre.
- a_t48 6y agoWait, "hating on Topre" since when?? https://www.reddit.com/r/MechanicalKeyboards/comments/grapwq/tried_topre_two_months_back_havent_gone_back_since/ https://www.reddit.com/r/MechanicalKeyboards/comments/grapwq... I thought everyone loved Topre.
- cryptonector 6y agoHeretics abound.
- athorax 6y agoMight also want to checkout r/Gatekeeping ;)
- agildehaus 6y agoI own an MK750. What's wrong with it?
- clarry 6y agoDoesn't look programmable? If it is, they did a terrible job marketing it. Either way they did a terrible job marketing..
- lmilcin 6y agoThis is really interesting at the moment where I started to laying out PCB and writing controller for my own keyboard. After spending some time researching various aspects of keyboard design I come to conclusion that any ghosting or other artifacts are just lazy design. These could have been explained decades ago when chips where expensive, but today you could technically just as easily devote a single pin to every key. On the other hand if you want to put diodes, surface mount diode cost (ie part + assembly) still pales in comparison to the cost of cheapest mechanical switch.
- skybrian 6y agoIf you don't use diodes, it seems like you'd need a lot of port expanders. For example, I've used the MCP23017 to get 16 extra pins each. Rather than lazy, you should assume cheap. Consumer hardware is usually optimized to cut costs.
- tokamak-teapot 6y agoNot being an electronics engineer, can anyone explain why there isn’t just a pair of wires from each key to the controller chip?
- deleted 6y ago[deleted]
- tripletao 6y agoBecause then for 100 keys, you'd need 200 wires, going to 200 pins on a really big microcontroller. But that would be really wasteful, because the switches can obviously all share one common voltage (typically ground) for one terminal. So naively, you'd actually just need 100 pins on the microcontroller plus ground. But if you put the switches in a 10x10 matrix, then you just need 10+10 = 20 pins, enabling a cheaper micro, cheaper interconnect from the membrane switches to the PCB, etc. That's the benefit, but it comes at the cost of that ghosting (unless you add extra complexity, like a diode in series with each switch). Good keyboard vendors try to lay out the matrix so important key combinations don't ghost, like any combination of modifiers, WASD, etc.
- boogerlad 6y agoDo you know of any microcontrollers with a development PCB that exposes > 62 GPIOs if I wanted to wire all the switches directly?
- clarry 6y agohttps://www.olimex.com/Products/ARM/ST/STM32-H407/open-source-hardware https://www.olimex.com/Products/ARM/ST/STM32-H407/open-sourc... The alternative that I would suggest you consider is I/O expander chips so you can use any mcu with a handful of pins. MCP23 seems popular, see e.g. https://www.abelectronics.co.uk/p/54/io-pi-plus https://www.abelectronics.co.uk/p/54/io-pi-plus https://eu.mouser.com/Semiconductors/Interface-ICs/Interface-I-O-Expanders/_/N-aq4ec https://eu.mouser.com/Semiconductors/Interface-ICs/Interface...
- bloak 6y agoI remember ghosting being a practical problem in the 1980s when people used the keyboard as a game controller. The other keyboard problem was debouncing. (Glad to see the spellchecker knows that word.) The proper way to debounce would be to have a key switch with three terminals. Cheap home computers didn't do that, obviously. Do modern keyboards do that? I should have taken one apart last time I had one to throw away. Next time!
- monkpit 6y agoIs it just me, or does the article drop the abbreviation “NKRO” at the end with no explanation of the meaning? Edit: It’s “n-key rollover“