Skip to content

Smoothly implements keyboard shortcuts (hotkeys) in Vue applications.

License

Notifications You must be signed in to change notification settings

rogeriotaques/vue-hotkeys-rt

Repository files navigation

Vue Hotkeys


Screenshot

Demo

https://rogeriotaques.github.io/vue-hotkeys-rt/

Getting started

Install the component as a dependency of your project.

$ yarn add vue-hotkeys-rt

or

$ npm install vue-hotkeys-rt -S

Import it to your Vue app.

import Vue from 'vue/dist/vue.js';
import Hotkeys from 'vue-hotkeys-rt';

new Vue({
  ...
  components: { Hotkeys },
  ...
});

Handling the keyboard shortcuts

Vue Hotkeys emits the triggered event always a shortcut is used. So, everything you need to do is define a handler that will take an action depending on the pressed keys.

Vue Hotkeys assume that a shortcut is a combination of CMD+Key.

E.g:

<template >
  <div >
    <hotkeys
      :shortcuts="['S', 'D']"
      :debug="true"
      @triggered="onTriggeredEventHandler"
    />
  </div>
</template>

<script lang="ts">
import Hotkeys from 'vue-hotkeys-rt';

export default {
  ...
  components: { Hotkeys },

  methods: {
    onTriggeredEventHandler(payload) {
      console.log(`You have pressed CMD (CTRL) + ${payload.keyString}`);
    }
  }
  ...
};
</script>

Contributing

Do you know Vue.js and would like to contribute?

Great 🙌 , I'd love to have your help to improve this component. Just clone this repository and send back your contributions as pull requests.

Wanna chat? 🙂 Drop me a line on Twitter.