This repo is not under maintenance anymore. Please use with caution.
A Vue component that display pressed keys on the keyboard by the user right now.
npm install vue-keyboard-over # or yarn add vue-keyboard-overimport KeyboardOver from "vue-keyboard-over";<KeyboardOver />The format of keys it prints out is depends on:
- The
keyfield and thecodefield of aKeyboardEventobject. <KeyboardOver>will determine usingkeyorcode"smartly" to match people's common cognitions.- For some special
KeyboardEventwithout a briefkeyorcode,<KeyboardOver>will print a pre-defined emoji or symbol.
So you can customize the print format by:
-
nameType: stringvalues:
"smart"(default) |"key"|"code""key": print thekeyfield of theKeyboardEventobject"code": print thecodefield of theKeyboardEventobject"smart"(default): print it in a "smart" way
-
nameMap: Record<string, string>: customized map over the pre-defined key mapYou can access the pre-defined key map by:
export { defaultKeyMap } from "vue-keyboard-over";
The value is below:
{ // modifiers Meta: "⌘", Shift: "⇧", Control: "⌃", Alt: "⌥", // action keys Enter: "⏎", Backspace: "⌫", // navigation keys ArrowUp: "↑", ArrowDown: "↓", ArrowLeft: "←", ArrowRight: "→", // special chars Backquote: "`", Minus: "-", Equal: "=", BracketLeft: "[", BracketRight: "]", Backslash: "\\", Semicolon: ";", Quote: "'", Comma: ",", Period: ".", Slash: "/" }
update(keys: Array<string>): It will be emitted with current keys when any key pressed down or released up. So you can use this to do more about current keys.
You can override the component style throught these CSS selectors:
.keyboard-over: The root element..keyboard-over > kbd: The printed key item..keyboard-over-list-*: The prefix of CSS transition classes. Or you can totally drop the default transition by set the proptransitionwhich allows you to specify another prefix of CSS transition classes.
nameTypenameMaptransition
update(keys)
.keyboard-over.keyboard-over > kbd.keyboard-over-list-*
defaultKeyMap: Record<string, string>