A web component for quick key commands https://key-down.melkat.dev/
  • HTML 66.2%
  • JavaScript 33.8%
Find a file
2024-11-09 03:20:38 +00:00
.editorconfig editorconfig, space tabs are tab tabs 2024-06-14 17:45:42 -07:00
index.html Update index.html 2024-11-09 03:20:38 +00:00
jsr.json nit 2024-06-14 18:08:21 -07:00
key-down.d.ts trying jsr 2024-06-14 18:07:19 -07:00
key-down.js trying jsr 2024-06-14 18:07:19 -07:00
LICENSE init 2024-06-10 14:21:04 -07:00
package.json package keywords 2024-08-10 22:14:53 -07:00
README.md Update README.md 2024-11-09 03:19:27 +00:00

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-key value to it (ie A or !)

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>