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

Add fn key combinations to emit international keyboard keys #51

Conversation

Jules-Bertholet
Copy link

@Jules-Bertholet Jules-Bertholet commented Nov 6, 2024

Maps fn+Z to the ISO 102nd key, fn+/ to the extra key left of right shift on Brazilian and Japanese layouts, and fn+= to the JIS Yen key. This allows full use of ISO and Brazilian layouts on ANSI, ISO, or JIS keyboard hardware. (Alternately, users can remap these keys in the OS to whatever function they prefer.)

@Jules-Bertholet Jules-Bertholet changed the title Add fn key combinations for row B end keys Add fn key combinations to emit international keyboard keys Nov 9, 2024
@JohnAZoidberg JohnAZoidberg self-assigned this Nov 11, 2024
@JohnAZoidberg
Copy link
Member

Is there precedent for other keyboards to do this?
Do you use this and find it useful?

@Jules-Bertholet
Copy link
Author

I don’t know of any existing keyboard that does this, no. But yes, I would use it if it was available (likely by remapping the keys to custom actions/layers).

@JohnAZoidberg
Copy link
Member

Hmm, if this mapping is not standard, I don't think it would be very popular to use. It's more like a personal keyboard layout that you made for yourself.

Best would be if we can get opinions from Brazilians or Japanese people. We're not shipping to these countries yet, we'll keep it in mind for when we launch there.

@Jules-Bertholet
Copy link
Author

The fn+Z to the ISO 102nd key mapping is relevant to anyone with ANSI (US QWERTY) keyboard hardware that occasionally uses an ISO layout (all European layouts, Chinese, Korean, etc).

Also, these mappings are not chosen randomly or by my personal preference, but based on what is the closest key to the one being emulated. For example, Z is directly to the right of Left Shift on non-ISO layouts, so fn+Z maps to the 102nd key that is directly to the right of Left Shift on ISO layouts. The slash key is to the left of Right Shift on non-JIS or Brazilian layouts, so fn+/ maps to the extra key to the left of Right Shift on JIS and Brazilian layouts. The = key is to the left of Backspace on non-JIS, so fn+= maps to the JIS Yen key that is to the left of Backspace. See the blue arrows on the image below:

iso keyboard

@Jules-Bertholet
Copy link
Author

Jules-Bertholet commented Nov 16, 2024

I’ve added mappings to the three JIS IME keys. Here is the full JIS set (only Z → ISO 102nd is omitted):

fwk jis

Maps fn+Z to the ISO 102nd key, and fn+/ to the extra key
left of right shift on Brazilian and Japanese layouts.
This allows full use of ISO and Brazilian layouts on
ANSI, ISO, or JIS keyboard hardware. (Alternately,
users can remap these keys in the OS to whatever function
they prefer.)

Signed-off-by: Jules Bertholet <julesbertholet@quoi.xyz>
Maps fn+= to the JIS Yen key to the left of Backspace
(also the Won key on certain Korean layouts).
This allows fuller use of these layouts on non-JIS hardware;
alternately, users can remap this keys in the OS to whatever
function they prefer.

Signed-off-by: Jules Bertholet <julesbertholet@quoi.xyz>
fn+C is mapped to Muhenkan,
fn+M is mapped to Henkan,
and fn+, is mapped to Katakana/Hiragana.

Signed-off-by: Jules Bertholet <julesbertholet@quoi.xyz>
@JohnAZoidberg
Copy link
Member

Also, these mappings are not chosen randomly or by my personal preference, but based on what is the closest key to the one being emulated

Sure, I understand and that makes sense. But if a keyboard layout is not standard, people are not used to it and need to train their muscle memory for it - even if it's slightly different.
I do think this is a great patch for those who want it but I'm not convinced yet if it's useful to merge for everyone.

I just talked to a japanese developer and he said that they expect the Yen key on japanese keyboards to result in a backslash () scancode. He said sending Yen keycode is a common mistake by hardware manufacturers. Operating systems will map backslash to Yen symbol based on necessity and OS configured layout.

@Jules-Bertholet
Copy link
Author

I do think this is a great patch for those who want it but I'm not convinced yet if it's useful to merge for everyone.

I think I now agree, #55 is a better approach compared to this.

I just talked to a japanese developer and he said that they expect the Yen key on japanese keyboards to result in a backslash () scancode.

Framework’s own JIS keyboard does not do this, the Yen key sends the Yen scancode. And for good reason: the key to the immediate left of Enter on the home row already sends the scancode that, on ANSI-QWERTY, maps to backslash.

@github-actions github-actions bot locked and limited conversation to collaborators Dec 14, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants