Skip to content

Conversation

@awkannan
Copy link
Contributor

@awkannan awkannan commented Nov 25, 2025

This changes the HidUsagePicker to a grid-of-buttons style of input, similar to what we see in VIA or VIAL.
We keep the modifier toggles so people can still add modifiers to their keys too.

Some decisions I made:

  • I'm changing "src/hid-usage-name-overrides.json" to "src/hid-usage-metadata.json". We have to categorize keys manually - so instead of making a 2nd json for categorization which basically had the same shape, I decided to just make the name overrides json a bit more generic. The idea is if we need to add anything else, i.e. icons - it can go in this file, which isn't just limited to name overrides
  • On top of that - if something is going to be categorized in a way that shows it on the grid, we should consider how we want it to be shown on the grid. We should probably define a short name or medium name for these.
  • We have 5 categories - Basic, Numpad, Apps/Media, ISO/JIS, and Other
  • I used the categorization in the ZMK Docs

Some things I need help with:

  • I used Gemini to help me with the CSS. I'm not great at tailwind, so I would love someone with more experience there to review the CSS. It all seems sensible to me, though.

@netlify
Copy link

netlify bot commented Nov 25, 2025

Deploy Preview for zmk-studio ready!

Name Link
🔨 Latest commit af6c818
🔍 Latest deploy log https://app.netlify.com/projects/zmk-studio/deploys/692db88454cc610008d85c30
😎 Deploy Preview https://deploy-preview-159.preview.zmk.studio
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@awkannan awkannan marked this pull request as ready for review November 26, 2025 01:28
@awkannan awkannan changed the title WIP: Grid Picker for Key Presses Grid Picker for Key Presses Nov 26, 2025
@awkannan
Copy link
Contributor Author

Example.mp4

@awkannan awkannan changed the title Grid Picker for Key Presses Grid Picker for HID Usage Nov 26, 2025
@awkannan awkannan force-pushed the 202511/feat/key-press-grid-picker branch from 650ddf2 to b685fc4 Compare November 26, 2025 03:29
@peterjc
Copy link
Contributor

peterjc commented Nov 26, 2025

Are you putting ISO keys like non-us-pound and non-us-backslash on basic?

@awkannan
Copy link
Contributor Author

NUHS and NUBS are both under the ISO/JIS section at the moment

@peterjc
Copy link
Contributor

peterjc commented Nov 26, 2025

Ah - a little cryptic so I missed them, but that's good. Thanks!

@awkannan awkannan force-pushed the 202511/feat/key-press-grid-picker branch from b685fc4 to 8bc19a5 Compare November 26, 2025 19:48
@joelspadin
Copy link
Contributor

Would "International" be a better name for "ISO/JIS"?

@adminhxx
Copy link

Show "Key Press" in a virtual keyboard may be better, like https://hodgef.com/simple-keyboard/demos/?d=fullKeyboard. That's what I did in my fork, and it works very well.

@awkannan awkannan force-pushed the 202511/feat/key-press-grid-picker branch from 5e0bb15 to af6c818 Compare December 1, 2025 15:47
@awkannan
Copy link
Contributor Author

awkannan commented Dec 1, 2025

Show "Key Press" in a virtual keyboard may be better, like https://hodgef.com/simple-keyboard/demos/?d=fullKeyboard. That's what I did in my fork, and it works very well.

I think this could be a good improvement - but I don't want to add too much into this PR.

Right now, it's pretty easy to digest, but with the special-casing dropdown for the "Other" category, it's already a bit messier than I had hoped.

IMO - we should consider this in a subsequent PR. I think this one already moves the experience forward incrementally, and that would be a good incremental change on top of this.

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

Successfully merging this pull request may close these issues.

4 participants