The Processing website was missing reference documentation for MouseEvent and KeyEvent classes. Users could see methods like mousePressed(event) and keyPressed(event) but had no documentation about what these event objects contained or how to use them.
File: content/references/translations/en/processing/MouseEvent.json
Spanish: content/references/translations/es/processing/MouseEvent.es.json
Key Features:
- Complete class documentation explaining MouseEvent purpose
- Documentation of all methods:
getX(),getY(),getButton(),getCount(),isShiftDown(),isControlDown(),isAltDown(),isMetaDown() - Explanation of when to use MouseEvent vs global variables
- Note about windowRatio() behavior differences
File: content/references/translations/en/processing/KeyEvent.json
Spanish: content/references/translations/es/processing/KeyEvent.es.json
Key Features:
- Complete class documentation explaining KeyEvent purpose
- Documentation of all methods:
getKey(),getKeyCode(),isShiftDown(),isControlDown(),isAltDown(),isMetaDown(),isAutoRepeat(),getNative() - Java integration notes for advanced users
- Explanation of when to use KeyEvent vs global variables
Updated the following files to include MouseEvent parameter documentation:
mousePressed_.json- Added event parameter, MouseEvent in relatedmouseReleased_.json- Added event parameter, MouseEvent in relatedmouseClicked_.json- Added event parameter, MouseEvent in relatedmouseMoved_.json- Added event parameter, MouseEvent in relatedmouseDragged_.json- Added event parameter, MouseEvent in relatedmouseWheel_.json- Enhanced description, added MouseEvent in related
Updated the following files to include KeyEvent parameter documentation:
keyPressed_.json- Added event parameter, KeyEvent in relatedkeyReleased_.json- Added event parameter, KeyEvent in relatedkeyTyped_.json- Added event parameter, KeyEvent in related
MouseEvent Examples:
content/references/examples/processing/MouseEvent/MouseEvent_0.pde- Basic usage showing coordinates, buttons, and modifier keyscontent/references/examples/processing/MouseEvent/MouseEvent_1.pde- Mouse wheel specific example with modifiers
KeyEvent Examples:
content/references/examples/processing/KeyEvent/KeyEvent_0.pde- Interactive typing with modifier key detectioncontent/references/examples/processing/KeyEvent/KeyEvent_1.pde- Comprehensive keyboard event logger
Enhanced Function Examples:
mousePressed_/mousePressed_1.pde- Shows MouseEvent parameter usagemouseWheel_/mouseWheel_1.pde- Enhanced wheel example with event detailskeyPressed_/keyPressed_1.pde- Shows KeyEvent parameter usage
- Created Spanish translations for both MouseEvent and KeyEvent classes
- Updated related Spanish function files to include new class references
- Clear Documentation - Users now have complete reference pages for both event classes
- Practical Examples - Multiple working examples show real-world usage patterns
- Best Practice Guidance - Documentation explains when to use events vs global variables
- Modifier Key Support - Full examples of detecting Shift, Ctrl, Alt, Meta keys
- Java Integration - KeyEvent documentation explains Java integration via
getNative() - Precise Control - MouseEvent examples show unaffected-by-windowRatio coordinates
- Auto-repeat Detection - KeyEvent shows how to detect auto-repeated key events
- Multi-language Support - Spanish translations ensure accessibility
- Complete Coverage - No missing event documentation
- Consistent Style - Follows existing Processing documentation patterns
- Searchable - Proper related links connect all mouse/keyboard functionality
- Maintainable - Clear structure for future updates
MouseEvent.json(English)MouseEvent.es.json(Spanish)KeyEvent.json(English)KeyEvent.es.json(Spanish)
- 6 mouse function files (mousePressed_, mouseReleased_, etc.)
- 3 key function files (keyPressed_, keyReleased_, keyTyped_)
- 3 Spanish equivalents
- 2 MouseEvent examples
- 2 KeyEvent examples
- 2 enhanced function examples
MouseEvent/example directoryKeyEvent/example directory
✅ Suggestion 1: Add reference pages for these classes - Complete MouseEvent and KeyEvent reference pages created
✅ Add a few examples of their use - 6 comprehensive examples created showing various usage patterns
✅ Special attention to mouseWheel() - Enhanced mouseWheel documentation and examples showing getCount() usage
✅ Practical guidance - Documentation clearly explains when to use event objects vs global variables
The solution is comprehensive, follows Processing documentation standards, and provides everything users need to effectively use MouseEvent and KeyEvent objects in their sketches.