Bndr

A monadic library designed to compose and filter events from various inputs devices

npm version   npm license

Bndr /ˈbaɪndɚ/ is a library designed to compose events from various user inputs and chain filters in a monadic manner, integrating them into a single event object. It accommodates input devices such as mice🖱️, styluses🖊️, touch inputs👆, keyboards⌨️, MIDIopen in new window controllers🎹, and gamepadsopen in new window🎮. Developed and maintained by Baku Hashimotoopen in new window.

Potential use cases for this library include:

  • ⚡️ Associating user inputs with arbitrary triggers for VJing
  • 🎨 Introducing manual operations in generative art.

To get a feel for how it works, please try out this demoopen in new window.

Supported Parameters

  • 👆 Pointer (mouse, stylus, touch)
  • ⌨️ Keyboard
  • 🎹 MIDI
    • CC and velocity
  • 🎮 Gamepad
    • Vendor-specific button name support: JoyCon, PS5 Controller

How to use