OneDeadKey / kalamine

Keyboard Layout Maker
MIT License
103 stars 29 forks source link

fix(klc): Correct VK in the KLC #104

Closed Geobert closed 6 months ago

Geobert commented 6 months ago

I’ve refactored the key_codes.yaml as VK are not bound to SC.

There’s also a change to make the double 1dk works again, but it breaks test_intl_deadkeys but I think the test needs to be updated.

test_intl_keymap is also broken, but this time, I’m unsure of the correct path to fix it. I produce:

56  OEM_5   0   005c    007c    -1  -1  // \ |

when the test is expecting:

56  OEM_102 0   005c    007c    -1  -1  // \\ |

Which means my asumption that a char and a VK have a link is also wrong :-/

Need your insight on this :)

EDIT: I think the intl.toml is wrong. We have \ | two times. From what I’ve seen on pictures, they often change one of them to something else (<> or # or "`")

fabi1cazenave commented 6 months ago

EDIT: I think the intl.toml is wrong. We have \ | two times. From what I’ve seen on pictures, they often change one of them to something else (<> or # or "`")

I agree we could totally change this intl.toml file, but the \| is very common on that physical key. It’s even called NUBS for “non-US BackSlash” in many APIs and apps (e.g. kanata).

Geobert commented 6 months ago

on that physical key.

Which one? The one left of [Z] or the one on the right of the homerow?

fabi1cazenave commented 6 months ago

The ISO key has many names — IntlBackslash, Non-US Backslash, LSGT, 102d… but it’s always the same, i.e. the one between Shift and [Z].

Geobert commented 6 months ago
  • the VK thing should probably be implemented as a dedicated KLC function in layout.py, to make it easier to read and debug.

Did you meant "dedicated KLC function in template.py" (not layout.py)

fabi1cazenave commented 6 months ago

I totally meant that, sorry for the confusion.