mirror of
https://melkat.dev/melanie/key-down.git
synced 2026-03-06 13:05:19 +00:00
A web component for quick key commands
https://key-down.melkat.dev/
- HTML 66.2%
- JavaScript 33.8%
| .editorconfig | ||
| index.html | ||
| jsr.json | ||
| key-down.d.ts | ||
| key-down.js | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
key-down
A web component for quick key commands
Install
npm install --save @zicklepop/key-down
Resources
Properties
- data-key string, required: The key we are watching to be pressed
- data-action enum, optional: Defaults to 'click', but can be set to be 'focus'
- data-scroll boolean, optional: If true, the page will scroll the wrapped element in to view
- data-altKey boolean, optional: Setting this as true or false will require the alt/option key to be pressed or not, otherwise it will not matter.
- data-ctrlKey boolean, optional: Setting this as true or false will require the control key to be pressed or not, otherwise it will not matter.
- data-metaKey boolean, optional: Setting this as true or false will require the meta/Windows/command key to be pressed or not, otherwise it will not matter.
- data-shiftKey boolean, optional: Setting this as true or false will require the shift key to be pressed or not, otherwise it will not matter. If you just want to monitor for a capital letter or symbol, it is recommended to set the
data-keyvalue to it (ieAor!)
Basic Usage
Just requires a clickable child element
<key-down data-key="a">
<button></button>
</key-down>
With Defined Action
By default, the web component will click the child when the key is pressed, but you can pass in an action like 'focus' for input boxes.
<key-down data-key="b" data-action="focus">
<input type="text" placeholder="Press 'b' key" />
</key-down>
With Everything
Using every manual property.
<key-down
data-key="b"
data-action="focus"
data-scroll="true"
data-altKey="false"
data-ctrlKey="true"
data-metaKey="false"
data-shiftKey="false"
>
<input type="text" placeholder="Press 'ctrl+b' key" />
</key-down>