Difference between revisions of "Unit PL050"

From Ultibo.org
Jump to: navigation, search
Line 11: Line 11:
 
The driver uses interrupt transfers for receiving keyboard and mouse inputs but uses only polling mode for transmitting data to the keyboard or mouse device. This driver has only been tested with the QEMU Versatile PB emulation of the PL050 device and has not been confirmed to work with real hardware.
 
The driver uses interrupt transfers for receiving keyboard and mouse inputs but uses only polling mode for transmitting data to the keyboard or mouse device. This driver has only been tested with the QEMU Versatile PB emulation of the PL050 device and has not been confirmed to work with real hardware.
 
    
 
    
Notes:  
+
''Notes:''
 
   
 
   
 
Currently QEMU only supports Scancode set 2 so scancode sets 1 and 3 are not implemented.
 
Currently QEMU only supports Scancode set 2 so scancode sets 1 and 3 are not implemented.

Revision as of 02:24, 24 April 2017

Return to Unit Reference


Description


ARM PrimeCell PL050 PS2 Keyboard/Mouse Interface Driver unit

The PL050 is an Advanced Microcontroller Bus Architecture (AMBA) compliant peripheral that implements a PS/2 compatible Keyboard and Mouse interface. This driver supports all of the standard functionality of the PL050 KMI controller including both Keyboard and Mouse devices as well as setting LEDs, repeat rate, repeat delay and sample rate values.

The driver uses interrupt transfers for receiving keyboard and mouse inputs but uses only polling mode for transmitting data to the keyboard or mouse device. This driver has only been tested with the QEMU Versatile PB emulation of the PL050 device and has not been confirmed to work with real hardware.

Notes:

Currently QEMU only supports Scancode set 2 so scancode sets 1 and 3 are not implemented.

On Windows, QEMU appears to send invalid scancodes for Print Screen and Pause/Break keys.

On Windows, QEMU does not differentiate between the cursor keys (Up, Down, Left, Right, Home, End, PgUp, PgDown) and the numeric keypad keys so each of these will always return their numeric keypad equivalent. This means that to use the cursor keys you need to turn off Number Lock otherwise they are interpreted as number keys instead.

Constants


To be documented

Type definitions


To be documented

Public variables


None defined

Function declarations


To be documented


Return to Unit Reference