5 ms·
If you want to see how this sort of stuff is handled by software not living inside the dystopian future of 199x Netscape, look at libxkbcommon: http://xkbcommon
by gue5t 10y ago
If you want to see how this sort of stuff is handled by software not living inside the dystopian future of 199x Netscape, look at libxkbcommon: http://xkbcommon.org/doc/current/md_doc_quick-guide.html http://xkbcommon.org/doc/current/md_doc_quick-guide.html
- ronjouch 10y agoI --and I suspect many HNers-- appreciate the link to how this sort of stuff is handled in libxkb, and I'm upvoting you for it, but the troll was unnecessary. Atom and Slack and VSCode and Wordpress.app and <insert electron app here> have virtues and flaws born from the platform and the tradeoffs it implies. Can we move on and discuss it without trolling?
- kps 10y agoI've worked in this area, and if I had to criticize gue5t's comment, it would be for understatement. The historic de facto ‘web standard’ defined by Netscape 4.0 is essentially raw Windows events, forcing every other platform/browser to provide a complicated and necessarily imperfect emulation of Windows keyboard handling. UI Events <https://w3c.github.io/uievents/> https://w3c.github.io/uievents/>, the new API mentioned in the article, is a huge improvement, but can't undo every past mistake.
- ronjouch 10y agoI was not criticizing the bare facts exposed by gue5t (that web events are an imperfect API), I was criticizing the replacement of facts ("I think X is bad because Y, and working with it I learned it causes Z", like you do, thanks) in favor of dismissing the whole thing as "the dystopian future of 199x Netscape", which brings nothing apart being fertile ground for a flamewar.
- skyyler 10y agoProtip: suck it up instead of starting arguments when people make jokes at the expense of things you like. They weren't "dismissing the whole thing", they were making a joke. A pretty funny one at that.
- greenshackle2 10y agoPrefacing everything with 'I think', 'in my opinion', etc. is bad style. It weighs down the text. We already know that the writer's statements are what she thinks since she's the one making the statements. I for one prefer concise flavorful texts over hemming-and-hawing.
- ronjouch 10y agoPoint taken; would remove the "I think" if I had to rewrite this.
- Matthias247 10y agoHowever VS Code had somehow worked around it and had working keybindings for my german keyboard layout from the beginning (oder at least for the time I use it). On Atom in contrast lots of stuff including basic things like line comment loggling did not work. I even recall situtations where typing the @ character did not work without and resulted in the execution of some random command.
- gedy 10y agoIf some of these native toolkits had a decent track record of producing not-hideous and usable cross-platform apps, maybe we would. That devs with real cross platform needs have been using solutions like Java Swing, Flash, Electron, etc since the 90s should be a pretty big hint.
- sho_hn 10y agoNo, in the real world you use Qt.
- kps 10y agoI may be misunderstanding the top-level comment, but xkbcommon is not a cross-platform toolkit — it's an implementation of keyboard layout, derived from X11 XKB, so it's in contrast to other system-level layout systems like those of Windows and OS X. (Personally, I think XKB is an over-complicated product of the second-system effect applied to X11 keymaps, and the NeXT/Apple approach is the least bad of the common ones.)
- gedy 10y agoThanks, yeah even more applicable in this case - Electron is not perfect, but hand-crafting Atom for every native platform and toolkit is not feasible.
- zeveb 10y ago> hand-crafting Atom for every native platform and toolkit is not feasible. Somehow both emacs and vim exist, and run on more platforms than Atom! It's not a bad thing that Atom exists, although I think it's sad that folks who care about extensibility and flexibility don't just hack on emacs. But I think that if they wanted to, they could support as many platforms as emacs and vim do.
- GuiA 10y ago...what? The poster linked to a library implementing a way to interface keyboard events with the Linux kernel input subsystem, to show how one might solve the problem the posted blog post attempts to solve from within a web browser when one is writing native code. You're talking about cross platform GUI development toolkits. The two things are just 2 completely and utterly different topics.