agwells / dotdash-keyboard-android

The world's most popular open source Morse code keyboard for Android! (probably)
GNU General Public License v3.0
32 stars 5 forks source link

Support for Morse code diacriticals #18

Open agwells opened 9 years ago

agwells commented 9 years ago

Wikipedia lists quite a few diacritical letters in Morse code. It appears these have their roots in the Gerke Morse code system, with some of them being just conventions used by operators in various languages.

It would be good to support these (at least optionally). However, the complicating factor is that there's a ton of overlap between them. For instance, ---. represents Ó, Ö, and Ø. I think the idea is that any given language is unlikely to use more than one of each overlapping set. If that's true, then I could support them by adding a "language" menu to the keyboard's options.

But the first thing I'd need to do, is to figure out which language options should be used.

L3br4nd commented 8 years ago

Hi, I'd like to help you figuring out at least one language option: For a german keyboard you would need to add the letters ä(.-.-) ,ö(---.),ü(..--) and ß(...--..). For ä the carriage return sign has to be automatically switched to .-.-..

Thank you very much for developing this keyboard it's really fun to use it and it helps to stay trained :-)

agwells commented 8 years ago

Hi @L3br4nd,

Thanks for the input!

Actually another conflict, which I probably should have mentioned in my original bug report, is that I've mapped MN ---. to the exclamation mark !. But KW -.-.-- is an easily used alternative for MN, and it's apparently the prosign that is preferred by the Wikipedia editors. So I guess if I were doing a "German mode" I could switch to that while I'm also switching EOL to .-.-..

fedde-s commented 6 years ago

I know very little about Morse code conventions in different languages, but I have run into the use-case for this. I currently have to switch keyboards every time I want to type a Dutch word with ë, ï, ü, é, á, í, ó, ú or íȷ́. These only occur in lowercase.

Of these, only the first four are vital for spelling words, the other acute accents are just for emphasis that can also be expressed in different ways. The j-acute used in the lowercase double-acute ij digraph hasn't even been granted a Unicode code point, so it wouldn't be unusual to leave it out of a basic keyboard.

I also have to switch keyboards to use “directed quotation marks” and other non-ASCII punctuation—think dashes—but that's off-topic here.

NANASHI0X74 commented 3 years ago

Hey, I just got interested in alternative soft keyboards and found this one, which I think is a simple, but brilliant idea. I think having diacritics would be a pretty important feature, so I felt like adding my input to this... If I understand correctly, this issue would implement this with multiple codepoints each representing a single character depending on which language you're writing in and this other issue: #14 would do it so there's a code point for each kind of diacritic, which you would then follow up with a character to apply that diacritic to. To me the latter approach seems preferable, but I guess it could be possible to do both at the same time? Either way I'd prioritize the other one 😅

L3br4nd commented 3 years ago

Hi, I'm surprised to get new feedback on this after 5 years ;-) I admit that the approach mentioned in the other issue (https://github.com/agwells/dotdash-keyboard-android/issues/14) is more flexible, but it would have the disadvantage that more buttons were needed for typing and it would slow down the typing process while typing in one language. I think for most users a language selection menu would be sufficient because most people are able to speak their mother tongue and English. The flexible solution would only be useful if to people of different languages with different diacriticals were chatting and switching between both languages which I assume is pretty rare.

NANASHI0X74 commented 3 years ago

well, personally my mother tongue is german, but not infrequently I type stuff in swedish or spanish. I just had another idea- maybe you could implement the language switching with morse codes too - e.g. there's one codepoint as prefix, then you type a country code (DE for example), then another symbol and then you're using that language (if doing that, displaying a toast that says what language you switched to would probably be a good idea)

mrcrsr commented 1 year ago

I am not an java developer, but I could support by collecting the codes and character mappings in different languages and put them in configruation files or something like that...