Skip to content

Document Input Drivers (Keyboard, Mouse) - Value 4 #91

@LSantha

Description

@LSantha

Input Drivers (Keyboard, Mouse)

Document the Input Drivers JNode concept in the wiki.

Value: 4

Concept Summary

Input device drivers with keyboard layouts and mouse protocol handlers. Input Drivers provide the foundation for keyboard and mouse support, enabling keyboard input, mouse movement, and button events in JNode.

Key Files

  • core/src/driver/org/jnode/driver/input/KeyboardInterpreter.java
  • core/src/driver/org/jnode/driver/input/MouseProtocolHandler.java

Occurrences

~200 references in input package

Wiki Status

NOT documented

Bridges

Driver framework, Input handling, GUI subsystem

Instructions

Skill to Use

Use the [[update-wiki|update-wiki skill]] (load with skill({ name: "update-wiki" })) for understanding JNode internals.

Context Research

Review KeyboardInterpreter.java and MouseProtocolHandler.java to understand input device handling. Study how keyboard layouts work, how mouse protocols are implemented, and how input events are translated into JNode events. Research how input drivers integrate with the GUI subsystem.

Update index.md

  • Pages table: Add entry for Input-Drivers.md
  • Concepts → Pages table: Add "Input Drivers" mapping to [[Input-Drivers]]
  • Source Path → Pages table: Add mappings for core/src/driver/org/jnode/driver/input/
  • Task Routing table: Add relevant task route(s)

Wiki Page Structure

# Input Drivers (Keyboard, Mouse)

> Input device drivers with keyboard layouts and mouse protocol handlers.

## Overview
2-3 paragraph explanation of Input Drivers, how keyboard and mouse support works, and how input events are handled.

## Key Components
| Class / File | Role |
|---|---|
| `core/src/driver/org/jnode/driver/input/KeyboardInterpreter.java` | Keyboard input handling |
| `core/src/driver/org/jnode/driver/input/MouseProtocolHandler.java` | Mouse protocol handling |

## How It Works
Explanation of how input drivers work, how keyboard layouts are implemented, how mouse protocols work, and how input events flow through the system.

## Gotchas & Non-Obvious Behavior
- Keyboard layouts vary by locale and must be handled
- Mouse protocols differ (PS/2, USB, etc.)
- Input events must be synchronized with GUI rendering

## Related Pages
- [[Driver-Framework]]
- [[GUI-AWT]]
- [[Input-Handling]]

Related Concepts: Keyboard, Mouse, Input handling, Keyboard layout, Mouse protocol

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions