ColemakMods / mod-dh

A Colemak mod for more comfortable typing.
Creative Commons Zero v1.0 Universal
658 stars 125 forks source link

AutoHotkey v2 rewrite? #83

Open greylegboas opened 5 months ago

greylegboas commented 5 months ago

Hey Steve,

I realise this could've been an email, although I cannot find your email address unfortunately.

Anyway, are you planning to keep your AutoHotkey implementation of Colemak-DH/Seniply around for the foreseeable future or have you gone full-KMonad? Have you thought about porting your AHK code to version 2?

I've been working on my own set of keyboard utilities implemented in KMonad and AutoHotkey – the AHK code is similar to yours, but fully version 2 compatible. You may find it helpful in case you're planning to port your code, too: https://gitlab.com/greylegboas/keeb-utils/-/tree/main/Windows/AutoHotkey

For the record, I don't see any performance improvements between AutoHotkey version 1 and version 2, but the syntax is more streamlined and simplified.

stevep99 commented 5 months ago

Hi, thanks for the note, yes I should update the AHK code to the new version. I no longer use AHK myself (I use programmable keyboards instead), but it's still worth having a variety of options available for download.

DreymaR commented 5 months ago

What would the differences be between AHK v1 and v2 for such a simple application?

greylegboas commented 5 months ago

@stevep99: I see. That is understandable. :)

@DreymaR: Well, Steve's current AutoHotkey code is fully v2 compatible, there is nothing to rewrite/update; so to answer your question: No difference.

It's a mere suggestion to introduce AHK v2 code to his existing AHK implementation making his keyboard layout remapping capabilities more robust and feature extensive – possibly not as robust and extensive as EPiKaL though. :) Additionally, it may open the possibility to implement Steve's Seniply layers in AutoHotkey.

If decision is taken to take the AHK v2 route, then changes from v1.1 to v2.0 may help to write a more granularly controlled, optimised, and simplified code base; for Seniply especially.

As I've had spoken to some other folks also using AutoHotkey to create alternative keyboard layouts and layers. They found remapped layouts to work more reliable at high typing speeds (>150 wpm) with AHK v2 with the proper optimisation options introduced (A_HotkeyInterval, #MaxThreadsBuffer, #MaxThreadsPerHotkey and so on).

DreymaR commented 5 months ago

As I've had spoken to some other folks also using AutoHotkey to create alternative keyboard layouts and layers. They found remapped layouts to work more reliable at high typing speeds (>150 wpm) with AHK v2 with the proper optimisation options introduced (A_HotkeyInterval, #MaxThreadsBuffer, #MaxThreadsPerHotkey and so on).

Thanks for a clarifying answer! But I think you can achieve pretty much the same robustness with AHK v1 using the same optimisation options that you mention? It's what EPKL does, after all.

I'd really like to be able to port EPKL to AHK v2 soon. But it's going to take some work to do. I've only scratched the surface of that undertaking so far.