DreymaR / BigBagKbdTrixPKL

"DreymaR's Big Bag of Keyboard Tricks" for Windows with EPKL
Other
326 stars 32 forks source link

Deadkeys, alt shortcuts not working as expected on layouts other than colemak. #68

Closed AsafMah closed 1 year ago

AsafMah commented 1 year ago

The extend layer keeps its position regardless of layout - the z/x/c shortcuts will always be on the same place, even on canary for example.

That's how i'd expect most things to work, but they don't with dead keys: The location is based on the mapped key, and not on the location in the keyboard. So in canary, pressing extend or menu, and then z/x/c, will not do the ctrl+z/x/c shortcuts, but instead they will call the functions at j/v/d

In canary at least, the altgr+symbol produces what I'd expect. In qwerty the symbols are again by their position on the colemak keyboard. It makes it very hard if I want to remap them into something else. The VK version dosen't support altgr shortcuts at all, it seems.

DreymaR commented 1 year ago

A VK key mapping leaves it up to your OS layout to decide what happens with that key (VK = VirtualKey); this is as it should be.

Dead key mappings, whether commands (Ext-tap) or accents/symbols, follow letter output not keys. So testing with Canary-eD it works as expected: The acute dead key with a produces á, and Ext-tap then a produces the Select All command. Obviously, this follows the position of the A key in Canary.

Note that help images are not automatically updated, nor provided with all layout variants as that'd be wayyy too much work for me and quite heavy on the file sizes too. If you want updated images, you have to run the Help Image Generator (with its setting pointing to Inkscape) and choose to make a full set of images. The images don't influence actual output though.

If you're unhappy with any dead key mappings you can edit your own set. Your overrides may reside in the Layout.ini file if you wish, or anywhere in the LayStack really.

AsafMah commented 1 year ago

It's just a bit weird that this is the default: in colemak (anglesym): Extend layer + x -> ctrl+x Extend tap, x -> ctrl+x

in canary (anglesym): Extend layer + j -> ctrl+x Extend tap + j -> img tag Extend tap + x -> ctrl+x

If you don't want to disscuss it further i'll close the issue, but I hope you understand where I'm coming from.

DreymaR commented 1 year ago

You're coming from the wrong angle. Extend is a largely positional layer, governed by geometry. Sure, its cut/copy/paste block is based on the positions of the well-known QWERTY ones. Surely that bit is easily understood. Extend should be by and large layout independent, bar "hard" mods like Angle and Wide.

Dead key layers are not positional. To a dead key, an x is an x no matter where it's placed.

As I said, if you dislike this then tweak it to your heart's liking. Or deal with the fact that using a layout that changes more keys leads to a larger departure from the well-known.