Live data from Hacker News

Emotional about X11: I'm creating a pure X11 “emoji keyboard”

github.com

81–90 of 102 posts

Re: Emotional about X11: I'm creating a pure X11 “emoji keyboard”

#81
post #63

Earlier quoted context omitted.

x11 is depreciated. It has no active maintainers and barely even qualifies for "maintenance mode" status; the push to remove Xorg can be justified by enumerating the security issues and nothing else. Strictly speaking Linux is "productive and usable" with nothing but a terminal multiplexer and a shell to work with. With expectations as high as they are in 2024, I don't think former Windows or Mac users will feel at-h…

I really do like Gnome and Wayland. I use them every day. That being said, Bazaar-style software development is the sole advantage free desktop has over macOS and Windows.

Cathedral-style development doesn't necessarily mean closed-source, but instead reflects the less-modular nature of Wayland in relation to x11. There aren't multiple desktops that are all using the same display server; instead each desktop implements it themselves around a common spec. Plug-and-play software has fewer and more restrictive interfaces to rely on. Modern desktop Linux is decidedly pared-back, which is a good thing when you consider how scarily open Linux is in the right hands.

"sole advantage" isn't correct either - there's a plethora of reasons to use Linux. In the enterprise, people pay companies money to keep their Linux away from bazaar-level patches and randomly packaged repos. More casually, a lot of people don't use desktop Linux for a particularly advanced purpose and just treat it like a Mac/Windows/Chrome machine with fewer advertisements. Some people do very much get a lot of value out of the bazaar-side of Linux, but the comparison between the two styles wouldn't exist at all if Linux didn't entertain both philosophies.

Re: Emotional about X11: I'm creating a pure X11 “emoji keyboard”

#82
post #71

Please let me rant a bit about X11 input APIs. One of the major flaws in X11 is its poorly designed keyboard input system. When a key is pressed, the keypress event sends a "keycode" - an 8-bit number that references the current layout. This means you're limited to injecting characters that are present in the current layout. The implications of this design are frustrating. For instance, if you're connecting to a remo…

> Also, there seem to be no sane API for managing layouts or switching them programatically, or subscribing to layout change event X11 has XkbMapNotify/XkbStateNotify. Wayland has a wl_keyboard.keymap event. > A better idea would be to allow to send arbitrary Unicode strings and maybe integrate regular input and IME input (input system for typing Asian characters). Not particularly, the difficulty here is that some c…

> X11 has XkbMapNotify/XkbStateNotify.

Yes, it seems I missed XkbStateNotify and XkbLockGroup that can be used to switch layouts (which X11 calls "groups").

Re: Emotional about X11: I'm creating a pure X11 “emoji keyboard”

#83

Please let me rant a bit about X11 input APIs. One of the major flaws in X11 is its poorly designed keyboard input system. When a key is pressed, the keypress event sends a "keycode" - an 8-bit number that references the current layout. This means you're limited to injecting characters that are present in the current layout. The implications of this design are frustrating. For instance, if you're connecting to a remo…

Hear, hear.

I hit all those Wayland issues while working on Squeekboard. https://gitlab.gnome.org/World/Phosh/squeekboard

> Similarly, how do you create an on-screen keyboard that can inject keypresses for characters not available in the current layout?

I switched the keyboard layout on the fly, on key press, if needed. That works... mostly. Chromium and Chromium-based apps know better what layout I am using, so they will misinterpret some inputs despite having a key map already. And then you realize that you can't use a physical keyboard at the same time, because key maps go out of sync while keys are pressed on both. I talked to a Wayland dev about having separate keyboards with separate layouts, but the answer was basically "it's an incompatible change, and it's too late to fix this" (it was in an issue tracker, but no link). So the only way to have a non-input-method on-screen keyboard is to limit yourself artificially to the current layout. Which, of course, is an oft requested feature I will never implement.

> A better idea would be to allow to send arbitrary Unicode strings and maybe integrate regular input and IME input (input system for typing Asian characters).

Isn't Mac OS do something like that? I agree this is the way to go. But the stumbling block is - again - that applications like Chromium won't implement this. I created the text-input-v3 protocol some 4 years ago, and it's still basically only used in GNOME.

But with new funding from NLNet I'm gathering a special ops team to push input methods again this year :)

> most developers use only ASCII and do not have experience using multiple layouts.

I'm getting that impression as well after discussing the topic of internationalization on Mastodon: using languages other than English is undervalued by open source devs. I mean, how often do you find variables named in Spanish or Russian in open source software? It's a very anglocentric bubble.

Re: Emotional about X11: I'm creating a pure X11 “emoji keyboard”

#84
I just use IBus, since I was already using it for Japanese IME input. It has its own emoji picker but has been kinda buggy before, instead I just use the "Typing Booster" keyboard option. I can type "wolf" and it'll popup a menu including the emoji or related emojis; I guess "cat:" is a better example since there's a lot more (e.g. shows tiger eventually) and I can scroll through them.

Re: Emotional about X11: I'm creating a pure X11 “emoji keyboard”

#85
post #73

Earlier quoted context omitted.

The recent push to Wayland in 2024 is an interesting choice, given how productive and usable X11 is.

I mean you're free to fork and continue developing X11; right now there is nobody with both the capability and the desire to do so. I'd wager that once I get hardware made in 2024, Wayland may work well for me (though in its defense it does work fine on my one machine with an Intel integraded GPU), but for now none of my (very old) discrete GPUs work reliably with Wayland, with 2 GPUs and 3 drivers (nvidia vs nouveau…

The era of a single machine is over. We need remote rendering for services on datacenter fleets without GPUs, so X11 is more often replaced by Javascript for a browser (with support for a user's local GPU) than by Wayland.

Re: Emotional about X11: I'm creating a pure X11 “emoji keyboard”

#86
post #78

Earlier quoted context omitted.

Maybe ability to turn skin color brown? Or maybe the poster is mad that some country flag was or wasn't included? The only other distant possibility is how some character sets turn the gun emoji into a water pistol, but that's not on the Unicode consortium. I can't think of anything else that is political in the set.

I dont want to supply munitions to the culture war, but I would like to add a counterpoint. Adding skin tone modifiers to emojis was a bit odd to me, since I view them as signifying emotions rather than people. Maybe that's why, of the six Fitzpatrick scale[0] skin tones they drew from, the only one not added was mine. Similarly odd to me (to the point of appearing performative) was having a male/female/ambiguous var…

> you're not going to be able to cover all valid families that way

In fact the emoji committee backpedaled on family permutations for exactly this reason, and now recommends (exactly as you suggest) "symbolic" family glyphs and juxtaposition of existing people-emoji to describe families in detail.

You can read about it here: https://www.unicode.org/L2/L2022/22276-family-emoji-guidelin...

Re: Emotional about X11: I'm creating a pure X11 “emoji keyboard”

#87
post #86
post #78

Earlier quoted context omitted.

I dont want to supply munitions to the culture war, but I would like to add a counterpoint. Adding skin tone modifiers to emojis was a bit odd to me, since I view them as signifying emotions rather than people. Maybe that's why, of the six Fitzpatrick scale[0] skin tones they drew from, the only one not added was mine. Similarly odd to me (to the point of appearing performative) was having a male/female/ambiguous var…

> you're not going to be able to cover all valid families that way In fact the emoji committee backpedaled on family permutations for exactly this reason, and now recommends (exactly as you suggest) "symbolic" family glyphs and juxtaposition of existing people-emoji to describe families in detail. You can read about it here: https://www.unicode.org/L2/L2022/22276-family-emoji-guidelin...

Even the new proposal still has problems. It still has all of the variations between 1 and 2 parents and 1 and 2 children. IMHO it should all be collapsed down to just two Emoji:

1. Two people without children

2. Two people with children.

The former being short for "just the parents" or childless couples and the latter encompassing all families with kids regardless of the numbers. This is a compromise answer, but I think it serves the purpose best given the intended use of emojis.

And even better solution would be to figure out some iconography that would denote "family" without explicitly depicting the people, but I'm at a loss on that one. I mean the people are what families are all about, it's hard to divorce the concept.

Re: Emotional about X11: I'm creating a pure X11 “emoji keyboard”

#89

Please let me rant a bit about X11 input APIs. One of the major flaws in X11 is its poorly designed keyboard input system. When a key is pressed, the keypress event sends a "keycode" - an 8-bit number that references the current layout. This means you're limited to injecting characters that are present in the current layout. The implications of this design are frustrating. For instance, if you're connecting to a remo…

Hear, hear. I hit all those Wayland issues while working on Squeekboard. https://gitlab.gnome.org/World/Phosh/squeekboard > Similarly, how do you create an on-screen keyboard that can inject keypresses for characters not available in the current layout? I switched the keyboard layout on the fly, on key press, if needed. That works... mostly. Chromium and Chromium-based apps know better what layout I am using, so they…

Well good news, literally just did a week ago: https://chromium-review.googlesource.com/c/chromium/src/+/57...

Re: Emotional about X11: I'm creating a pure X11 “emoji keyboard”

#90
post #73

Earlier quoted context omitted.

The recent push to Wayland in 2024 is an interesting choice, given how productive and usable X11 is.

I mean you're free to fork and continue developing X11; right now there is nobody with both the capability and the desire to do so. I'd wager that once I get hardware made in 2024, Wayland may work well for me (though in its defense it does work fine on my one machine with an Intel integraded GPU), but for now none of my (very old) discrete GPUs work reliably with Wayland, with 2 GPUs and 3 drivers (nvidia vs nouveau…

> I mean you're free to fork and continue developing X11; right now there is nobody with both the capability and the desire to do so.

OpenBSD Xenocara

Post reply on HN