Skip to content

⌨️ Plugin to handle keyboard events

License

Notifications You must be signed in to change notification settings

litecanvas/plugin-keyboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keyboard plugin for litecanvas

Plugin to handle keyboard events in litecanvas games.

Install

NPM: npm i @litecanvas/plugin-keyboard

CDN: https://unpkg.com/@litecanvas/plugin-keyboard/dist/dist.js

Usage

import litecanvas from "litecanvas"
import pluginKeyboard from "@litecanvas/plugin-keyboard"

let color, holding

litecanvas({
  loop: { init, draw },
})

// load the plugin
use(pluginKeyboard, {
  listeners: { keyup, keydown, keypress },
})

function init() {
  color = 0
  holding = false
}

function draw() {
  cls(color)
  text(10, 10, "HOLDING: " + (holding ? "YES" : "NO"), color + 3)
}

function keydown(key) {
  if ("space" === key) {
    holding = true
  }
}

function keyup(key) {
  if ("space" === key) {
    holding = false
  }
}

function keypress(key) {
  switch (key) {
    // press enter to change the background color
    case "enter":
      color++
      break

    // press ESC to display a message
    case "escape":
      alert("Escape pressed")
      break
  }
}

See in playground.

Configuration

use(pluginKeyboard, {
  // If `true` automatically calls the Event#preventDefault
  // see: https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault
  preventDefault: boolean, // default: `true`

  // The keyboard event listeners
  listeners: {
    keyup: (key: string, ev: KeyboardEvent): void, // default: window.keyup (if exists)
    keydown: (key: string, ev: KeyboardEvent): void,  // default: window.keydown (if exists)
    keypress: (key: string, ev: KeyboardEvent): void,  // default: window.keypress (if exists)
  }
})

About

⌨️ Plugin to handle keyboard events

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published