References: Mouse & Keyboard User Event Sensing¶
-
Event-driven programming - Wikipedia - Comprehensive overview of asynchronous event emitters, event listeners, hardware polling, and callback dispatching. Fundamental for managing interactive user input across web canvas applications.
-
Event (computing) - Wikipedia - Detailed analysis of software event models, user hardware triggers (keystrokes, mouse moves, clicks), and event queuing in modern operating systems and web browsers.
-
Hit-testing - Wikipedia - Geometric algorithms for determining whether a cursor coordinate intersects graphical elements (bounding boxes, circles, polygons). Essential for interactive buttons and drag-and-drop mechanics.
-
About Face: The Essentials of Interaction Design (Fourth Edition) - Alan Cooper, Robert Reimann, David Cronin, and Christopher Noessel - Wiley - Cooper pioneered Goal-Directed Design and direct-manipulation mental models, establishing canonical rules for cursor states, hover feedback, and responsive drag affordances in software interfaces.
-
Programming Interactivity: A Designer's Guide to Processing, Arduino, and openFrameworks (Second Edition) - Joshua Noble - O'Reilly Media - Noble created clear pedagogical pathways connecting low-level hardware input interrupts (key presses, mouse velocity) to expressive visual and acoustic interactions in creative software.
-
p5.js Events Reference: Mouse and Keyboard - p5.js Foundation - Complete API reference covering mouseMoved, mousePressed, mouseDragged, mouseReleased, keyPressed, keyTyped, keyIsDown, and keyCode attributes for interactive user control in p5.js sketches.
-
Introduction to Browser Events - MDN Web Docs - Authoritative guide explaining event handlers, event bubbling, capture phases, and default browser action prevention with preventDefault() in JavaScript web apps.
-
KeyboardEvent Value Reference - MDN Web Docs - Comprehensive standard documentation detailing key naming, key codes, modifier keys (Shift, Alt, Control), and cross-browser keyboard compatibility for interactive web applications.
-
The Coding Train: Mouse and Keyboard Interaction in p5.js - The Coding Train - Visual video lesson showing the difference between continuous polling (mouseIsPressed in draw) and discrete event triggers (mousePressed function) in p5.js.
-
2D Collision Detection and Point Intersection - Jeffrey Thompson's Collision Detection - Clear, accessible code recipes explaining point-in-rectangle, point-in-circle, and line intersection math for building interactive UI widgets and click targets on canvas.