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

Ideas & feedback concerning Macro reconfigurability by forking the repo #7

Closed
Phoscur opened this issue Jan 22, 2022 · 11 comments
Closed

Comments

@Phoscur
Copy link
Collaborator

Phoscur commented Jan 22, 2022

As of #1, we are now able to build and release firmware binaries, but it might not be straight forward/well documented enough. (Readme could use some redaction and simplification after we finish this draft)

Because I added my-macros.ts with my configuration, only that one is currently being used, so to take advantage that file needs to be modified by someone forking (in addition to the Github Secrets LAYOUT_ID & LAYOUT_FOLDER to be filled for the forked repo pipeline).

My idea yesterday suggests to move my-macros.ts categorically into macros/<username>.ts, I think I can get the username of the repo owner in the pipeline, else this may become a third configuration by secret e.g. MACRO_FILE.

@Phoscur
Copy link
Collaborator Author

Phoscur commented Jan 22, 2022

Also, it might be possible to get rid of LAYOUT_FOLDER just like the npm run copy task just skips over it with wildcards. That copy task however should be purged of the neo keymap name if possible... we can use this ticket to collect any minor issues you have using the new Github Action Pipeline and npm scripts.

@Phoscur
Copy link
Collaborator Author

Phoscur commented Jan 22, 2022

I like the idea of user folders or app-based folders. In a more "main" file the user could then compose lots of app scripts or something nifty like that if we wanted to overkill it.

@gittyeric can you elaborate, what you mean with "compose lots of app scripts"? We could also create a big shared registry for macros, and then only apply those that actually are in the keymap. Conflicting macro configurations will force users to discuss and find common ones? I don't see the standard yet but we could start creating one!

For example I am still looking for a good macro key config to mute myself in Discord globally, I've tried a couple but my current one still collides with another browser shortcut - annoying - at least Discord let's me freely choose, but it would be easier to have a good moonlander standard default.

@Phoscur
Copy link
Collaborator Author

Phoscur commented Jan 22, 2022

@eric-fulfil please checkin here when you configured the repo pipeline and attempted build your firmware with it!
This run only build mine https://github.com/gittyeric/ergodox-macro-hax/runs/4903918283 because configuration overrides are not set (LAYOUT_ID+FOLDER secrets).
We should see it fail as you add the secrets, because my-macros.ts cannot be applied on your keymap.

@eric-fulfil
Copy link

eric-fulfil commented Jan 25, 2022

@Phoscur you are on fire with this. I'm way way bogged down with life till March and my wife barely uses her hand-me-down Moonlander 😆 , so I'll tell ya what. Since I can't promote you past Collaborator in GH we can either:

  1. You can tell me every step to take to maintain including what to fill into GH Actions for testing. My devops is decent enough to track some of your awesome GH Actions pipelines but not quite 100%.
  2. Deprecate this repo and I'll point the README to your fork.

You've picked up the baton so I'll leave the fate of this work in your hands, but again I'm happy to help in the world of #1.

... If you REALLY want to go next level, check out the layout I'll be burried with 😆 :

IMG_20211206_122403 (1)

Hundreds of custom UHK macros that I easily edit daily, a hand built Ploopy 8-ball trackball with custom CAD design to fit into my UHK + custom FW for 1D arrow key pounding at a time (it's my text edit navigator and scroller), thumb cluster on the left with mini 2D scroll ball, and of course a Contour Rollermouse fit delicately underneath the custom printed stand so no mouse/KB hand back-and-forth movement. Oh and the pads on the rollermouse let me type while walking on a treadmill. I love Ergodox but had to say goodbye awhile ago to get this far!

@Phoscur
Copy link
Collaborator Author

Phoscur commented Jan 27, 2022

Great to see you have such a great custom setup fit to your needs! I still think your wife, like any moonlander user, would benefit from further automation and architecting of macros, do you think she would want to be a tester?

I have some other unrelated GH Actions pipeline plans, enthousiastic about Microsoft just gifting us these compute resources ;)

You've picked up the baton so I'll leave the fate of this work in your hands, but again I'm happy to help in the world of #1.

I appreciate you collaborating with me, so for now I am happy being an active fork ;) My goal is to make it really easy so I also do macro or layout adaption more often. The biggest hassle was compiling (getting qmk to work), so users should now be able to focus on creating macros (at least that is what I am hoping to do now)!

Hundreds of custom UHK macros that I easily edit daily

Why and how so many, categorized? Please elaborate!

You can tell me every step to take to maintain including what to fill into GH Actions for testing

Yes please, fill in secrets LAYOUT_ID (url hash in oryx) and LAYOUT_FOLDER (underscored layout name in its source archive), then we should see the predicted macro mismatch error on the next workflow run (push or manual trigger).

@gittyeric
Copy link
Owner

@Phoscur , some bad news, I got my UHKv2 and it rocks so hard at macros I ended up giving away my Moonlander as a graduation present. There's still a lot of demand for this repo and I no longer have any way of testing changes. Since you've done such great work on this I wanted to push the idea again of your fork becoming the canonical one and I can update the README here to link to yours whenever you're ready for it.

I souped up the ol' Moonlander and gave it a new home to a budding graphics designer 😆 :

IMG_20220428_104338

Screen holder folds + left wristpad folds up to allow tablet draw mode vs typing mode lol.

Re: Your UHK questions, if you're willing to give up ortholinear it's superior hands down, except for the 3 month lead time of finally getting your gritty fingers on it. The macros are flat and uncategorized but in alphabetical order so I improv categories with Macro name prefixes:

image

The left thumbcluster is also a total gamechanger I could never live without, I have 2 backup sets so I can be burried with my setup in 40 years. Macros software does 97% of what I want very quickly with no code so I'l eat the last 3%.

@Phoscur
Copy link
Collaborator Author

Phoscur commented Jun 17, 2022

Cool arm rests/supports! My next task is to create a stand up extension for my desk. Then I'll be missing this kind of arm support... dude this is so much fun to exchange these ideas!! We should make a discussion topic where everyone posts his setup with pictures :D

push the idea again of your fork becoming the canonical one and I can update the README here to link to yours whenever you're ready for it

What's the default process for this? Does every fork need to adopt the new upstream then, or can it be forwarded somehow? I guess you are adding git add remote upstream and git branch --set-upstream-to instructions to the README? -> created #9

What are we achieving with this? @gittyeric
I could have merged the last PR without your comment (I have permissions to do that), I was pretty close but I wanted to engage in discussion first.

I think we should wait for branches to diverge or at least for this current topic to get an implementation in my fork before starting this migration, which will only put us back collaborationwise. I fear this bringing us to a halt with the current very slow speed.
This collaboration with you is a strong motivator for me, you don't need to do much to keep that up (check in once a month?)! I will try to take over completely in time, but we need a replacement for me as an additional tester and collaborator too!

Maybe @storcium or @DaynosaurusRex would like to do this, interested in this topic of macro reconfigurability/sharing macros per user? Please try to activate the compile workflow for the layout firmware in Github Actions of your fork! I am currently waiting on a (semi-)successful reproduction of my pipeline with another layout in a different fork.
Compiling the firmware after a layout change in ORYX just by pressing a button in Github works for me, I want it to work for you too!

@eric-fulfil
Copy link

@Phoscur that all sounds good to me. Whenever you feel it's best timing I can open a PR that mostly just points the README to your fork, with a command or two for people who have forked this repo to be able to merge up to your latest fork.

Apologies for the sluggish responses, I'll check in on this account more often to keep things moving. Also feel free to keep pushing PRs through as you see fit, I'll check in every few weeks more as a CYA security audit to make sure nothing obviously nasty sneaks in.

...I think I'll post more of my setups in a Medium article soon to expand the conversation to more nerds on ultra ergonomics experiments 🤓

@Phoscur
Copy link
Collaborator Author

Phoscur commented Apr 12, 2023

Hey guys, I've been making great progress on the implementation of the idea of this topic, please check out the new folder structure!

https://github.com/Phoscur/oryx-macro-hax/
(PR Phoscur#3)

@Phoscur
Copy link
Collaborator Author

Phoscur commented Apr 30, 2023

I'm not sure yet how much the topics relate, but #18 should be a new pillar stone for layer & macro sharing between layouts:
https://github.com/Phoscur/oryx-layer-inserter

Leaving this issue open for more ideas & feedback!

@Phoscur Phoscur changed the title Idea Draft: Macro reconfigurability by forking this repo Ideas & feedback concerning Macro reconfigurability by forking the repo Apr 30, 2023
@gittyeric
Copy link
Owner

Closing in favor of of Phosphor's now-canonical fork!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants