Unexpected-Keyboard icon indicating copy to clipboard operation
Unexpected-Keyboard copied to clipboard

[feature request] Add support for combined dead keys

Open GrimPixel opened this issue 2 years ago • 15 comments

There are some languages that require more than one dead keys on a letter, such as Pinyin for Chinese: ǖ, ǘ, ǚ, ǜ. So I think it's good to see it happen.

GrimPixel avatar May 10 '22 15:05 GrimPixel

Do you want Pinyin support ? It's more than combined diacritics: The right diacritics should be shown to the user, and a layout with perhaps already combined diacritics or already accent letters. Contributions welcome!

Or do you need these for an other reason ?

Julow avatar May 10 '22 17:05 Julow

I would like to see it supporting more languages. Yes, a layout covering all diacritized letters is good. I think it could be another step towards full Korean support: one letter is typed with multiple keys. I don't know Java and I am also grateful if anyone helps completing it. I can only help with ideas for now.

GrimPixel avatar May 10 '22 22:05 GrimPixel

Thanks a lot for you suggestion but that's not the strategy in place for supporting new languages. I don't eagerly add as many languages as possible but instead I wait for user of a language to contribute the layout. The goal is to have higher-quality layouts and to open a discussion with contributors, potentially new features on the keyboard. That's why you are seeing https://github.com/Julow/Unexpected-Keyboard/issues/145 and https://github.com/Julow/Unexpected-Keyboard/issues/144

The keyboard is intended for developers so I think this strategy makes sense. It's also a manageable amount of work on my side.

Julow avatar May 11 '22 12:05 Julow

Thank you for considering this. I see great potential out of it. I don't know your plan and I can't find them as the next milestone is empty. People tend to support those who have a clear future. If you just want to type, then this goal is already achieved.

I saw that someone promised to complete that BÉPO keyboard, a simple task, that guy is not showing up. All I need is to know are the names of dead keys, as they are different from Linux's.

GrimPixel avatar May 11 '22 18:05 GrimPixel

To add a layout, you need to write a file that looks like this one for QWERTY: https://github.com/Julow/Unexpected-Keyboard/blob/master/res/xml/qwerty.xml There a few other things to do too, have a look at https://github.com/Julow/Unexpected-Keyboard/blob/master/CONTRIBUTING.md

Julow avatar May 14 '22 08:05 Julow

FYI: xml is easy not hard! - :shipit:


A hangul(Korean) layout should not be to hard to code vs most other Asian languages as it only has a few consonants & vowels unlike Chinese 60,000+ ideographs

  • https://en.wikipedia.org/wiki/Keyboard_layout#Dubeolsik
  • but may I suggest you create a separate minimal repo for testing out layouts etc. Judow/Keyboard-layout-test or ???
  • Include only QWERTY & a blank alt-keys template and README.md with instructions.
  • ISO 639 naming XX-xxx.xml https://gist.github.com/eddieoz/63d839c8a20ef508cfa4fa9562632a21
  • I find it better to clone/fork small repos since my internet is so poor
  • It would keep things simpler here in the main thread. I've seen too many open source projects get over whelmed over time
  • The K.I.S.S. Principle / Linux's philosophy

ChiefMikeK avatar May 14 '22 10:05 ChiefMikeK

If only we clarified that https://github.com/Julow/Unexpected-Keyboard/issues/144 earlier, I could have started it earlier. I didn't see those diacritics on QWERTY. I have noticed some differences among dead keys: some have “loc ” and others don't. What does that “loc ”do?

GrimPixel avatar May 14 '22 10:05 GrimPixel

About that ISO codes, I do so in my project: {ISO 639-3}-{ISO 15924}-{ISO 3166 alpha-2} There are different situations, like Kazakh, where the leaders of Kazakhstan have been trying to abolish Cyrillic and adopt Latin. So if the keyboard is still simply named as “kk” (ISO 639-2) or “kaz” (ISO 639-3), it will cause confusion.

GrimPixel avatar May 14 '22 11:05 GrimPixel

Thanks @ChiefMikeK for the informations!

The loc ... keys will be hidden by default unless it is specified in the extra_keys field of the selected locale: https://github.com/Julow/Unexpected-Keyboard/blob/master/res/xml/method.xml

A layout is not named after a locale, but a locale can specify the default (or preferred) layout. In the case of BÉPO, the layout clearly has a name and it won't be the default layout for French so there's no change on this side.

Julow avatar May 14 '22 11:05 Julow

I have plan to remove the loc ... keys entirely soon, you might not need to add any to your layout.

Julow avatar May 14 '22 11:05 Julow

The problem with contributing to the BÉPO is, even the numeral row is fully occupied, so unless Unexpected Keyboard has the numeral row, it's too difficult.

GrimPixel avatar May 14 '22 11:05 GrimPixel

You will need to do some adaptation, the result will not be entirely accurate but it's the opportunity to make it more usable given the keyboard's mechanism.

Julow avatar May 14 '22 11:05 Julow

OK, let me try.

GrimPixel avatar May 14 '22 11:05 GrimPixel

I guess it would be better to have the numeral row because everyone just cram everything into 3 rows according to their own randomness.

GrimPixel avatar May 14 '22 12:05 GrimPixel

IRT Kazahkstan there is always qkk. kk-zxx, or und
https://iso639-3.sil.org/about/scope#Local%20use%20codes

ChiefMikeK avatar May 14 '22 16:05 ChiefMikeK

Dead keys can already combine. This is useful for example in Greek, ΰ, ΐ, etc... Some of these combinations also work on Latin letters. The BÉPO discussion has its own issue, so I think there's nothing left and I'll close.

Julow avatar Oct 15 '22 23:10 Julow