Skip to content

Conversation

@IanSeyler
Copy link
Member

This pull request introduces enhancements to the linear framebuffer (LFB) driver and the PS/2 keyboard driver, focusing on improved cursor management and keyboard navigation support. The main changes include implementing a visual cursor in the LFB, adding keyboard arrow key detection, and improving code clarity and maintainability.

Linear Framebuffer (LFB) Cursor Management:

  • Added a new visual cursor to the LFB display, including support for drawing, clearing, and updating its position (lfb_update_cursor). This includes new state variables (lfb_last_cursor, Cursor_Color, lfb_cursor_on) to manage cursor rendering. [1] [2] [3]
  • Modified cursor movement routines (lfb_inc_cursor, lfb_dec_cursor) to call lfb_update_cursor after changing cursor position, ensuring the cursor display stays in sync.
  • Updated the initialization routine to set the initial cursor position and state.

Keyboard Navigation Support:

  • Added detection for arrow key scan codes in the PS/2 keyboard interrupt handler (ps2_keyboard_interrupt:), enabling support for left, right, up, and down arrow keys.
  • Implemented handlers for arrow keys to set corresponding values in the key variable, allowing other parts of the system to respond to navigation input.

Other Improvements:

  • Minor clarification in the serial driver initialization comment for accuracy.
  • Removed a redundant call to lfb_clear in the LFB driver, streamlining the render routine.

@IanSeyler IanSeyler merged commit d703d40 into master Oct 10, 2025
6 checks passed
@IanSeyler IanSeyler deleted the cursor branch October 10, 2025 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants