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

Setting keys to unicode letters #60

Open
aepfli opened this issue Mar 10, 2020 · 11 comments
Open

Setting keys to unicode letters #60

aepfli opened this issue Mar 10, 2020 · 11 comments
Labels
enhancement New feature or request

Comments

@aepfli
Copy link

aepfli commented Mar 10, 2020

Is your feature request related to a problem? Please describe.
As i am a german speaking developer who favors the english keyboard layout, but needs to use german characters for some emails etc. i would love to have the possibility to set unicode characters to keys.

Describe the solution you'd like
being able to add unicode characters to keys, it would be enough to do this just via json configuration, but currently i could not find a way to do it.

Describe alternatives you've considered
alternatively it would be cool to really map down to a key specific level. eg. define what is happening when i press shift for a key and what happens when i press alt, then i could threoretically remodel the keyboard layout as i like in full detail, based on german language layout

@aepfli aepfli added the enhancement New feature or request label Mar 10, 2020
@chbroecker
Copy link

As a German speaking developer with an english keyboard as well, has there been any progress on this? :)

Or have you found a workaround?

@devgioele
Copy link

devgioele commented Nov 27, 2021

I need this feature badly, because I switch costantly between english, german and italian characters. This is one of the main reasons why I bought the dygma raise: to stop switching OS layouts each time I need a foreign character.

Supporting unicode characters would also allow us to write emojis.

Since I am a React developer, I might look into the code and make a PR for this.

@devgioele
Copy link

I just tried with alt codes and macros on Windows 10. The desired character is printed, but many programs like discord and chrome misinterpret the keys. They don't understand that numlock is pressed and behave as if I pressed arrows.

@devgioele
Copy link

devgioele commented Nov 28, 2021

SEMI-SOLUTION

Install the EurKEY layout to have US layout + all European characters that you could possibly need! Thanks @massimiliano-della-rovere

If you want other characters, I think you could create your own custom keyboard layout for your OS and install that.

@rspier
Copy link

rspier commented Jan 15, 2023

This FR would also be useful for emoji keys. 🦝

@massimiliano-della-rovere

SEMI-SOLUTION

Install the EurKEY layout to have US layout + all European characters that you could possibly need! Thanks @massimiliano-della-rovere

If you want other characters, I think you could create your own custom keyboard layout for your OS and install that.

You're welcome!

@noirbizarre
Copy link
Contributor

This would be awesome, not only for international special chars, but also for emojis.

For info, this is how it is handled in QMK (may help or inspire if someone is willing to try implementing it some day):

Here the ZMK open issue about it (provides some ideas and workarounds by platforms)

@ethanmsl
Copy link

I want to add that having the ability to use characters common in math physics or other domains would also be incredibly useful.

e.g. the ability to directly use characters like these would be a huge help to many

∀ ∁ ∂ ∃ ∄ ∅ ∆ ∇ ∈ ∉ ∊ ∋ ∌ ∍∴ ∵≟
≡ ≢ ≨ ≩ ≮ ≯ ≰ ≱ ≶ ≷
⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋐ ⋑ ⋂ ⋃
⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⋢ ⋣ ⋤ ⋥ 
⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⋪ ⋫ ⋬ ⋭ ⋀ ⋁ 
𝛼 𝛽 𝛾 𝛿 𝜀 𝜁 𝜂 𝜃 𝜄 𝜅 𝜆 𝜇 𝜈 𝜉 𝜊 𝜋 𝜌 𝜍 𝜎 𝜏 x 𝜐 𝜑 𝜒 𝜓 𝜔 𝜕 𝜖 𝜗 𝜘 𝜙 𝜚 𝜛
𝚨 𝚩 𝚪 𝚫 𝚬 𝚭 𝚮 𝚯 U+1D6Bx 𝚰 𝚱 𝚲 𝚳 𝚴 𝚵 𝚶 𝚷 𝚸 𝚹 𝚺 𝚻 𝚼 𝚽 𝚾 𝚿

@massimiliano-della-rovere
Copy link

@Elsie19
Copy link

Elsie19 commented Apr 2, 2024

Bump. This is a really good feature!

Edit: I have gotten around this by using a macro which types in the code for a given unicode character, but still, I'd rather just be able to tell my keyboard to send this key instead of doing an OS specific keybinding.

@UczenJezusa
Copy link

UczenJezusa commented Aug 24, 2024

Bump. Would be very nice to have unicode feature.

In the meantime, I found some solutions/ workarounds:

  1. On Linux typing "Ctrl" + "Shift" + u + 0x00b0 + Enter or Space, gives unicode character. We can create a macro based on this.

  2. Andriod - a bit more complex
    The solution involves using an Android app called "External Keyboard Helper Pro." First, you need to purchase and install the app (it costs around 2 euros). After connecting your keyboard to the Android device, launch the app, and it will automatically detect the keyboard. In the main menu, you can select a keyboard layout based on your language preference.

To configure Unicode characters, go to "Advanced Settings" → "Keyboard Mapping" → "Customize Keyboard Mapping" → "Add New Key Mapping." When you select "Change," you can press the key you'd like to remap—for example, "q". In the "Normal" section, enter the Unicode character you want (e.g., 0x017F for "ſ"), and then hit "Save." From this point, pressing "q" will no longer type the letter "q"; instead, it will input the Unicode character "ſ". I also enabled the "CapsLock = Ignore" option, though I’m not sure it made a significant difference in the configuration.

The main limitation of this solution is that it replaces existing keys with Unicode characters. However, you can work around this by using other available options like "Shift," "AltGr," and "AltGr + Shift," allowing you to assign Unicode characters without losing the primary function of the key. A good approach is to map rarely-used keys, for me there was "Pause/Break", "Insert", or "Num Del / .". Unfortunately, some keys like "F1," "F2," and "F3" don't seem to work, possibly due to conflicts when using layer-switching key.

The remapping process is based on keyboard scancodes (you can find more about scancodes here: https://www.fountainware.com/EXPL/keyboard_scan_codes.htm). There’s also a helpful tutorial on remapping keys available here: http://blog.apedroid.com/2012/10/ekh-tutorial-2-remapping-some-keys.html .
Additionally Dygma provides some video about the topic https://www.youtube.com/watch?v=LBcPceDxfCA

One additional step I had to take was switching to the correct input method on my Android device: Settings → Language & Input → Default Keyboard → External Keyboard Helper Pro. I also ran into an issue with missing special Polish characters, which was resolved by switching from the "Polish 214" layout to the "Polish Programmers" layout.

I tested this on an Onyx Boox NoteAir3 e-paper tablet running Android 12. The solution works for all external Bluetooth keyboards, at least in my experience.

I hope this guide helps someone in the future!

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

No branches or pull requests

9 participants