Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Where are these? #801

Open
GitAlasGo opened this issue Nov 16, 2024 · 12 comments
Open

Where are these? #801

GitAlasGo opened this issue Nov 16, 2024 · 12 comments

Comments

@GitAlasGo
Copy link

This is the keys, that i want showing up in the arabic keyboard: https://imgur.com/a/jhd5uKT

I could add them in the custom keys, but the problem is that they're not noticeable.

Maybe i'm missing something obvious?


Also i'm a beginner in arabic, so i won't be able to read any arabic replies.

@Julow
Copy link
Owner

Julow commented Nov 16, 2024

These are missing from the keyboard entirely. Do you have the unicode number for all of these ?

@GitAlasGo
Copy link
Author

These are missing from the keyboard entirely. Do you have the unicode number for all of these ?

Okay here's all the unicode, Github have a copy button on the right side, so you can click on it to copy them.

ARABIC FATHA, U+064E

َ

ARABIC KASRA, U+0650

ِ

ARABIC DAMMA, U+064F

ُ

ARABIC MADDAH ABOVE, U+0653

ٓ

ARABIC LETTER SUPERSCRIPT ALEF, U+0670

ٰ

ARABIC SUBSCRIPT ALEF, U+0656

ٖ

ARABIC SUKUN, U+0652

ْ

ARABIC FATHATAN, U+064B

ً

ARABIC KASRATAN, U+064D

ٍ

ARABIC DAMMATAN, U+064C

ٌ

ARABIC SHADDA, U+0651

ّ

ARABIC HAMZA ABOVE, U+0654

ٔ

ARABIC HAMZA BELOW, U+0655

ٕ

@Julow
Copy link
Owner

Julow commented Nov 23, 2024

Done in #807. Can you try the debug build at the end of this page to see if they are all working correctly ?

@GitAlasGo
Copy link
Author

Done in #807. Can you try the debug build at the end of this page to see if they are all working correctly ?

It's working, and there's finally a circle under them.

Screenshot_20241123-150526

That little circle doesn't appear, if i add them to the Custom keys

@GitAlasGo
Copy link
Author

@Julow How do i make the Arabic diacritics only show up in arabic layouts?

It's showing the diacritics on every other layout like english, the Arabic diacritics are basically useless in english layout.

Picture of Arabic diacritics showing in english layout
Screenshot_20241123-215222

@Julow
Copy link
Owner

Julow commented Nov 23, 2024

Good catch! To fix this bug, the easiest way would be to add the diacritics into the layouts directly and not in the settings. Do you think you could update the layouts ? The layouts are here: https://github.com/Julow/Unexpected-Keyboard/tree/master/srcs/layouts

@GitAlasGo
Copy link
Author

GitAlasGo commented Nov 23, 2024

Good catch! To fix this bug, the easiest way would be to add the diacritics into the layouts directly and not in the settings. Do you think you could update the layouts ? The layouts are here: https://github.com/Julow/Unexpected-Keyboard/tree/master/srcs/layouts

@Julow Here is the arabic alt layout with the arabic diacritics included

<?xml version="1.0" encoding="utf-8"?>
<keyboard name="Arabic Alt" script="arabic" numpad_script="hindu-arabic">
  <row>
    <key key0="ض" key2="١" key3="`" key4="loc esc"/>
    <key key0="ص" key2="٢" key3="\@"/>
    <key key0="ث" key2="٣" key3="\#"/>
    <key key0="ق" key2="٤" key3="$"/>
    <key key0="ف" key2="٥" key3="%"/>
    <key key0="غ" key2="٦" key3="^"/>
    <key key0="ع" key2="٧" key3="&amp;"/>
    <key key0="ه" key2="٨" key3="*"/>
    <key key0="خ" key2="٩" key3="("/>
    <key key0="ح" key2="٠" key3=")"/>
    <key key0="ج"/>
  </row>
  <row>
    <key key0="ش" key3="combining_dammatan" key4="loc tab"/>
    <key key0="س" key3="combining_alef_below" key4="combining_alef_above"/>
    <key key0="ي" key4="combining_fatha"/>
    <key key0="ب" key4="combining_shaddah"/>
    <key key0="ل" key4="combining_dammah"/>
    <key key0="ا" key1="أ" key4="combining_sukun"/>
    <key key0="ت" key4="combining_fathatan"/>
    <key key0="ن" key4="combining_kasra"/>
    <key key0="م" key4="combining_kasratan"/>
    <key key0="ك" key4="combining_hamza_above"/>
    <key key0="ط" key4="combining_hamza_below"/>
  </row>
  <row>
    <key key0="ذ"/>
    <key key0="ء"/>
    <key key0="ؤ" key1="{"/>
    <key key0="ر" key1="}"/>
    <key key0="ى" key1="ئ"/>
    <key key0="ة"/>
    <key key0="و" key3=","/>
    <key key0="ز" key3="."/>
    <key key0="ظ" key3="&#1567;"/>
    <key key0="د"/>
    <key width="1.0" key0="backspace" key2="delete"/>
  </row>
</keyboard>

I saw there are other arabic layout, but i'ma do them later, and then send them here again.

@GitAlasGo GitAlasGo reopened this Nov 24, 2024
@Julow
Copy link
Owner

Julow commented Nov 24, 2024

Thanks :) In #807 I'm adding Fn combos for some of these with @anaskaejdar
To avoid cluttering the layout with all the diacritics, do you think more Fn combos could be added ?

@GitAlasGo
Copy link
Author

Thanks :) In #807 I'm adding Fn combos for some of these with @anaskaejdar To avoid cluttering the layout with all the diacritics, do you think more Fn combos could be added ?

@Julow I'm struggling to understand, where to add more letters to the fn

I went to check the commit and i saw arabic.json, fn.json i forked the repo, since i'm on a phone, and github can compile them for me.

I changed a few things in these files, but when i test them i don't see any changes.

I saw a few diacritics in the FN, but not all the diacritics are there.


Sorry if this sounds dumb, i'm not a programmer.

@anaskaejdar
Copy link
Contributor

anaskaejdar commented Nov 24, 2024

@GitAlasGo Yes my friend, the FN part simply swaps the diacritics for their full-letter counterparts and vise versa, so if you already have ێ on the keyboard, FN will turn it into its diacritic equivalent, kasra, and if you already have kasra on your keyboard, FN will turn it into ێ

But if you have neither, it's not Fn you want, but rather the Compose key (right next to the enter key on the bottom right)

Press compose, then press ي twice to get kasra
Press compose, then press ه twice to get fatha
Press compose, then press و twice to get damma
Press compose, then press ا twice to get small-alef-above
Press compose, then press ح twice to get sukun

And for the nasalized versions, press the same letter only once, and then press ن

Notable exceptions (for arabic):
Fn+ة will also get you the fatha
Fn+ئ will also get you hamze-above

Also, there are some other diacritics you can get by pressing Compose, then pressing either ۷ or ۸; for instance, small-alef-below, hamze-below, or the V-shaped diacritics

@Julow
Copy link
Owner

Julow commented Nov 28, 2024

@GitAlasGo fn.json defines the Fn mappings and arabic.json defines Compose sequences but modifying these files is not enough to add more things to Fn and Compose unfortunately.
You must run gradle test to update the app's code.
You didn't sound dumb at all, the code is dumb for being unintuitive.

@anaskaejdar Thanks you very much for these well thought Fn and Compose mappings.
I just want to add that Compose sequences are not intended for commonly used symbols because they are hard to discover and unconventional. It would be best if all the diacritics or other letters that people need every day are on the Fn layer.

@anaskaejdar
Copy link
Contributor

@Julow Hey happy thanksgiving!

Yeah, I'm down to add the rest of the diacritics into the FN layer such that it would appear in the arabic keyboard. My idea was just to make these symbols accessible, because a lot of languages that use this alphabet don't really use the diacritics except in rare circumstances to disambiguate homographs if needed.

I assume that if a language has a direct need for them, like arabic itself does, they would be directly encoded into the keyboard for that language, and the compose sequences would be more useful for accessing letters that belong to other arabic-alphabet languages.

From the perspective of persian or kurdish, the diacritics themselves are essentially foreign letters.

But nonetheless, I'm down to work on this. Good news is there's a bunch of letters that still don't yet have any FN alternate assigned, so there's room to work there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants