keymanapp / keyboards

Open Source Keyman keyboards
150 stars 272 forks source link

Need help typing Chinese characters with Keyman #3103

Closed DavidLRowe closed 3 weeks ago

DavidLRowe commented 1 month ago

From comments on PR #3093 after it was merged:

@Cathaylaboratory wrote: Hello Keyman team I am presently trying to type chinese characters with Keyman, However I meet several issues in programming. I am trying to study Japannese, they are using TAB key to generate the Kana into Kanji. The major issue is the multiple-pronunciation issue. If a character has several pronunciation, If I use tab key as a generate key, many words will always meet this generating issue. you can tranfer different pronunciation to this word, However, I can not generate this word to two different words with one tab key. This will be the major issue and let my keyboard can not contain more than 10000 characters. Or I should store them into character combinations instead of individual meaningless characters. I hope Keyman can solve this issue in the future, for example set a string to contain all characters with same pronunciations and show user a icon or bar to select those characters. Best regards, Üing-ʽAo

As I know, the Cantoboard, the khiin keyboard are successful keyboard, could you give me any suggestions about developing those keyboards? For example can I develop them on the android studio? Should I write the key one by one or did them have any sort of patterns which they can directly apply? Thanks.

I mean set one list to contain the characters or character combinations which match each input

DavidLRowe commented 1 month ago

@Cathaylaboratory Let's continue the discussion here (rather than on a closed pull request).

DavidLRowe commented 1 month ago

Have you looked at https://keyman.com/keyboards/cs_pinyin for typing Chinese? I'm not familiar with Chinese or this keyboard, but I know that it uses an IME (input method extension) to go beyond what is supplied by the basic Keyman language. See https://help.keyman.com/keyboard/cs_pinyin/1.4/cs_pinyin for more information.

mcdurdin commented 1 month ago

Currently, the story for ideographic or logographic writing systems with Keyman is limited. We have Keyman's Input Method eXtensions (IMX) but these are really Windows-only and have not had development for many years, so are quite constrained and require significant technical expertise.

We have a roadmap item to rebuild support for similar functionality in an upcoming release. This would be designed as cross-platform from the ground up and would be designed to be used without needing software development expertise, at least for primary uses. But that will not happen this year.

Cathaylaboratory commented 1 month ago

I think I can provide many suggestions during the process. I am very experienced with this process. I know the Rime keyboard which may help you so much. Rime keyboard is the largest open source and free keyboard in Asia. I understand how rime works very well.

At the meantime, I end my study in the university of Nottingham. To be honest, I don’t have any idea and much plans about my future career development. Could you give me any sort of internship chance or works or any other programs linked with linguistic and IT programming? I am quite fascinated by that. Best regards, Yunhao

Sent with Proton Mail secure email.

On Wednesday, 18 September 2024 at 4:57 PM, Marc Durdin @.***> wrote:

Currently, the story for ideographic or logographic writing systems with Keyman is limited. We have Keyman's Input Method eXtensions (IMX) but these are really Windows-only and have not had development for many years, so are quite constrained and require significant technical expertise.

We have a roadmap item to rebuild support for similar functionality in an upcoming release. This would be designed as cross-platform from the ground up and would be designed to be used without needing software development expertise, at least for primary uses. But that will not happen this year.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

mcdurdin commented 1 month ago

@Cathaylaboratory, good to hear from you! It might be good to take this conversation out of the public repository. The best starting point for interest in internships or work is here: https://keyman.com/jobs/

mcdurdin commented 1 month ago

@Cathaylaboratory another question for you: as you are very familiar with RIME, what is it that you find in Keyman that RIME doesn't already do for you? Why reimplement IME functionality in Keyman if RIME already does it?

Cathaylaboratory commented 1 month ago

Because Rime have such issues: Rime can not allow users to type things directly on the board, except the standard English letters. That means if you want to type for example french é, you should at first set the letter as a stored chinese character, then you type a trigger word for the specific letter, then you choose the letter on the bar, then it will appear on the text such as in Word or Browser search engine. If you want to type the vietnamese or taiwanese letters you should set those latin letters as chinese character outputs at first. Those feature making typing Latin letters in Rime very complex and slow. The rime keyboard uses the “matching logic” to type words. “A>a, A>b”,Input A, then provide a and b for users to select with number row. You have to select with the 1 to 9 key in your keyboard or select with your finger on your phone. However the Keyman keyboard uses “A+B>C” transform logic to type words. That means on input only allow a output, not like Rime, we can choose different outputs in the bar.

Keyman is more worthy for me to develop because keyman have a stronger team, and Keyman support all systems. Rime is good in windows however rime on the phone is very less-developed. I can upload my programs on keyman however on the Rime I can only upload them on github and waiting for downloads. If you want to install a file in Rime you should find the folder at first and copy them in then and a order in the default custom file. All those features let installation for normal users almost impossible. The rime is famous at type cantonese and Mandarin Chinese on the windows system however the rime can only type languages based on chinese characters and only on chinese characters, if you want to type Japanese Kans with rime you will also face the issue “you must select kana as selecting chinese character instead of type them directly”

As I know japanese keyboard to use numbers to select but use tab to trigger the transform and scrow down the selections, Taiwan chinese keyboard use page up and page down to select the characters we can apply those features because in many cases in fact number keys on the keyboard will be set as a part of useful input esecially on Taiwan Chinese keyboard.

Sent from Proton Mail for iOS

On Thu, Oct 10, 2024 at 00:54, Marc Durdin @.***> wrote:

@.***(https://github.com/Cathaylaboratory) another question for you: as you are very familiar with RIME, what is it that you find in Keyman that RIME doesn't already do for you? Why reimplement IME functionality in Keyman if RIME already does it?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

Cathaylaboratory commented 1 month ago

If it is possible I can share my screen with you in the future to demonstrate the limitations of the rime at now.

Sent from Proton Mail for iOS

On Thu, Oct 10, 2024 at 00:54, Marc Durdin @.***> wrote:

@.***(https://github.com/Cathaylaboratory) another question for you: as you are very familiar with RIME, what is it that you find in Keyman that RIME doesn't already do for you? Why reimplement IME functionality in Keyman if RIME already does it?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

Cathaylaboratory commented 1 month ago

I think if we need to integrate the Rime features in the keyman. At least we should have those features. Setting a Dictionary file in keyman developper and have a dictionary file just like in the rime. The Left side of the Tab is the matched input, the Right side will be the matched output.

Setting the mold of selecting characters and scrolling up and down, such as by numbers, by tab, by scrolling mouse, or page up and down or anyother key candidates.

Setting the number of candidates appear in the bar for once, normally 1 to 9 candidates will appear at first page. And setting the number of candidates once appear in your phone, nornally 5 to 8 is common. In the phone, all the candidates can be extended if you press the arrow at the right side ending.

Setting how those candidates appear in your screen on your windows or Macbook computer. upside down or left side to right side. Normally upside down is more common.

The bar should move when you are typing instead of fixed at some place.

Setting whether differ or blur upper and lower cases. Setting whether blurred some pronunciation or spelling if necessary.

The whole process will be a little bit like the lexical model but much more complexed.

This function will not contradict with lexical model on your phone. When there is nothing left to be transform. The bar on the top will work as a lexical model.

The rime keyboard will autonomic catch the initial letter and try to match them, and convenient us to type words with 2 or 3 syllables. We can set whether we need it.

The Rime keyboard is a learning keyboard and they automatically change the frequency of words. But I don’t think we can replica this feature at our first time. And the Rime keyboard on the phone still lack of learning feature. The adjustment of frequency of each characters and words still depends on manual feedback. I think we can quit the learning feature at first, if we need it we can develop it later.

Sent from Proton Mail for iOS

On Thu, Oct 10, 2024 at 00:54, Marc Durdin @.***> wrote:

@.***(https://github.com/Cathaylaboratory) another question for you: as you are very familiar with RIME, what is it that you find in Keyman that RIME doesn't already do for you? Why reimplement IME functionality in Keyman if RIME already does it?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

mcdurdin commented 1 month ago

OK, thank you, that's helpful context :grin:

Cathaylaboratory commented 3 weeks ago

By the way, I just find a bug in Keyman app in the Android phone If you press the KMP file directly, the file can not be install as usual, as we do it on the iPhone, we must to install it inside the app, I hope you can solve this issue

Sent with Proton Mail secure email.

On Thursday, 10 October 2024 at 4:51 AM, wongwanho @.***> wrote:

I think if we need to integrate the Rime features in the keyman. At least we should have those features. Setting a Dictionary file in keyman developper and have a dictionary file just like in the rime. The Left side of the Tab is the matched input, the Right side will be the matched output.

Setting the mold of selecting characters and scrolling up and down, such as by numbers, by tab, by scrolling mouse, or page up and down or anyother key candidates.

Setting the number of candidates appear in the bar for once, normally 1 to 9 candidates will appear at first page. And setting the number of candidates once appear in your phone, nornally 5 to 8 is common. In the phone, all the candidates can be extended if you press the arrow at the right side ending.

Setting how those candidates appear in your screen on your windows or Macbook computer. upside down or left side to right side. Normally upside down is more common.

The bar should move when you are typing instead of fixed at some place.

Setting whether differ or blur upper and lower cases. Setting whether blurred some pronunciation or spelling if necessary.

The whole process will be a little bit like the lexical model but much more complexed.

This function will not contradict with lexical model on your phone. When there is nothing left to be transform. The bar on the top will work as a lexical model.

The rime keyboard will autonomic catch the initial letter and try to match them, and convenient us to type words with 2 or 3 syllables. We can set whether we need it.

The Rime keyboard is a learning keyboard and they automatically change the frequency of words. But I don’t think we can replica this feature at our first time. And the Rime keyboard on the phone still lack of learning feature. The adjustment of frequency of each characters and words still depends on manual feedback. I think we can quit the learning feature at first, if we need it we can develop it later.

Sent from Proton Mail for iOS

On Thu, Oct 10, 2024 at 00:54, Marc Durdin @.***> wrote:

@.***(https://github.com/Cathaylaboratory) another question for you: as you are very familiar with RIME, what is it that you find in Keyman that RIME doesn't already do for you? Why reimplement IME functionality in Keyman if RIME already does it?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

LornaSIL commented 3 weeks ago

It is best to go to the community site to ask these questions. There might already be someone who asked the same question.

https://community.software.sil.org/c/keyman/19

On Sun, Oct 13, 2024, 2:39 AM cathaylab @.***> wrote:

By the way, I just find a bug in Keyman app in the Android phone If you press the KMP file directly, the file can not be install as usual, as we do it on the iPhone, we must to install it inside the app, I hope you can solve this issue

Sent with Proton Mail secure email.

On Thursday, 10 October 2024 at 4:51 AM, wongwanho @.***> wrote:

I think if we need to integrate the Rime features in the keyman. At least we should have those features. Setting a Dictionary file in keyman developper and have a dictionary file just like in the rime. The Left side of the Tab is the matched input, the Right side will be the matched output.

Setting the mold of selecting characters and scrolling up and down, such as by numbers, by tab, by scrolling mouse, or page up and down or anyother key candidates.

Setting the number of candidates appear in the bar for once, normally 1 to 9 candidates will appear at first page. And setting the number of candidates once appear in your phone, nornally 5 to 8 is common. In the phone, all the candidates can be extended if you press the arrow at the right side ending.

Setting how those candidates appear in your screen on your windows or Macbook computer. upside down or left side to right side. Normally upside down is more common.

The bar should move when you are typing instead of fixed at some place.

Setting whether differ or blur upper and lower cases. Setting whether blurred some pronunciation or spelling if necessary.

The whole process will be a little bit like the lexical model but much more complexed.

This function will not contradict with lexical model on your phone. When there is nothing left to be transform. The bar on the top will work as a lexical model.

The rime keyboard will autonomic catch the initial letter and try to match them, and convenient us to type words with 2 or 3 syllables. We can set whether we need it.

The Rime keyboard is a learning keyboard and they automatically change the frequency of words. But I don’t think we can replica this feature at our first time. And the Rime keyboard on the phone still lack of learning feature. The adjustment of frequency of each characters and words still depends on manual feedback. I think we can quit the learning feature at first, if we need it we can develop it later.

Sent from Proton Mail for iOS

On Thu, Oct 10, 2024 at 00:54, Marc Durdin @.***> wrote:

@.***(https://github.com/Cathaylaboratory) another question for you: as you are very familiar with RIME, what is it that you find in Keyman that RIME doesn't already do for you? Why reimplement IME functionality in Keyman if RIME already does it?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://github.com/keymanapp/keyboards/issues/3103#issuecomment-2408864206, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABV6RIYDW2LL3KF65FJHBC3Z3IPUNAVCNFSM6AAAAABOMWOKGKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBYHA3DIMRQGY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

mcdurdin commented 3 weeks ago

If this relates to trying to install Keyman from Samsung My Files app, this is a known bug in My Files, which Samsung have declined to fix. https://github.com/keymanapp/keyman/issues/10133

Cathaylaboratory commented 3 weeks ago

When my friend press the file in the email box, this bug still happen Sent from Proton Mail for iOS

On Sun, Oct 13, 2024 at 23:15, Marc Durdin @.***> wrote:

If this relates to trying to install Keyman from Samsung My Files app, this is a known bug in My Files, which Samsung have declined to fix. keymanapp/keyman#10133

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

mcdurdin commented 3 weeks ago

OK, for support questions, please ask on the community forum, as @LornaSIL suggested; we can open a bug report from there if necessary. When asking for support, please be sure to include your Android manufacturer and OS version, and describe the steps taken and any error messages received.

https://community.software.sil.org/c/keyman/19

LornaSIL commented 3 weeks ago

Since this isn't an "issue" per se (it is user support) I will close this issue. Two recent comments on the community site: https://community.software.sil.org/t/sometimes-generating-will-let-the-space-before-the-generated-text-disappear/9219/2 https://community.software.sil.org/t/i-just-found-a-interesting-way-to-type-chinese-characters-in-keyman/9220