jtroo / kanata

Improve keyboard comfort and usability with advanced customization
GNU Lesser General Public License v3.0
2.2k stars 112 forks source link

Feature request: Support ANSI and ISO at the same time (reason inside) #875

Closed newsve closed 6 months ago

newsve commented 6 months ago

Is your feature request related to a problem? Please describe.

I (like most coders) prefer ANSI over ISO but I live in an ISO country and all local notebook deals are always ISO notebooks and often just too good to be ignored, so I still buy them and re-config the small key right to the left shift as shift too and ignore that's it's an ISO board mostly (I do something similar to have a consistent enter key). But I have also ANSI notebooks, and both ANSI and ISO external keyboards, and at then end of the day I use all of them for different use cases.

I have one Autohotkey file on OneDrive that gets synced to all notebooks and auto-started on all notebooks and works with both ISO and ANSI layouts. So, all my boards feel the same despite the different layout. Wondering if this somehow possible with kanata without the need to maintain multiple files and/or if such an implementation is feasible.

Describe the solution you'd like.

With Autohotkey, we do not have a static defsrc and just remap keys, e.g. LShift::a or in the case of that small ISO key right to the left shift it would be SC056::LShift. Or the backslash key keeps it's mapping but is at the different spot.

Could we maybe have two defsrc declaration which are used conditionally? But this might be too cumbersome, maybe there's a smarter way.

Describe alternatives you've considered.

Autohotkey

Additional context

No response

newsve commented 6 months ago

Ok, this is possible, for others driving by: Just put the ISO layout in defsrc, add new keys via deflocalkeys-win (check docs), this works with ISO and with ANSI too. Closing...