gem5
|
Enumerations | |
enum | { Ps2Reset = 0xff, SelfTestPass = 0xAA, SetStatusLed = 0xed, SetResolution = 0xe8, StatusRequest = 0xe9, SetScaling1_2 = 0xe7, SetScaling1_1 = 0xe6, ReadId = 0xf2, TpReadId = 0xe1, Ack = 0xfa, SetRate = 0xf3, Enable = 0xf4, Disable = 0xf5, SetDefaults = 0xf6, KeyboardId = 0xab, TouchKitId = 0x0a, MouseId = 0x00 } |
Functions | |
void | keySymToPs2 (uint32_t key, bool down, bool &cur_shift, std::list< uint8_t > &keys) |
BitUnion8 (Ps2MouseMovement) Bitfield< 0 > leftButton | |
A bitfield that represents the first byte of a mouse movement packet. More... | |
EndBitUnion (Ps2MouseMovement) void keySymToPs2(uint32_t key | |
Convert an x11 key symbol into a set of ps2 charecters. More... | |
Variables | |
static const uint16_t | keySymToPs2Byte [128] |
Table to convert simple key symbols (0x00XX) into ps2 bytes. More... | |
const uint8_t | ShiftKey = 0x12 |
const uint8_t | BreakKey = 0xf0 |
const uint8_t | ExtendedKey = 0xe0 |
const uint32_t | UpperKeys = 0xff00 |
Bitfield< 1 > | rightButton |
Bitfield< 2 > | middleButton |
Bitfield< 3 > | one |
Bitfield< 4 > | xSign |
Bitfield< 5 > | ySign |
Bitfield< 6 > | xOverflow |
Bitfield< 7 > | yOverflow |
bool | down |
bool bool & | cur_shift |
bool bool std::list< uint8_t > & | keys |
anonymous enum |
Ps2::BitUnion8 | ( | Ps2MouseMovement | ) |
A bitfield that represents the first byte of a mouse movement packet.
Ps2::EndBitUnion | ( | Ps2MouseMovement | ) |
Convert an x11 key symbol into a set of ps2 charecters.
key | x11 key symbol |
down | if the key is being pressed or released |
cur_shift | if device has already sent a shift |
keys | list of keys command to send to emulate the x11 key symbol |
void Ps2::keySymToPs2 | ( | uint32_t | key, |
bool | down, | ||
bool & | cur_shift, | ||
std::list< uint8_t > & | keys | ||
) |
Definition at line 82 of file ps2.cc.
References BreakKey, ExtendedKey, keySymToPs2Byte, ArmISA::shift, ShiftKey, UpperKeys, and warn.
Referenced by Pl050::keyPress().
const uint8_t Ps2::BreakKey = 0xf0 |
Definition at line 77 of file ps2.cc.
Referenced by keySymToPs2().
const uint8_t Ps2::ExtendedKey = 0xe0 |
Definition at line 78 of file ps2.cc.
Referenced by keySymToPs2().
bool bool std::list<uint8_t>& Ps2::keys |
Definition at line 92 of file ps2.hh.
Referenced by Pl050::keyPress().
|
static |
Table to convert simple key symbols (0x00XX) into ps2 bytes.
Lower byte is the scan code to send and upper byte is if a modifier is required to generate it. The table generates us keyboard codes, (e.g. the guest is supposed to recognize the keyboard as en_US). A new table would be required for another locale.
Definition at line 56 of file ps2.cc.
Referenced by keySymToPs2().
const uint8_t Ps2::ShiftKey = 0x12 |
Definition at line 76 of file ps2.cc.
Referenced by keySymToPs2().
const uint32_t Ps2::UpperKeys = 0xff00 |
Definition at line 79 of file ps2.cc.
Referenced by keySymToPs2().