gem5 v24.0.0.0
|
Namespaces | |
namespace | keyboard |
namespace | mouse |
Classes | |
class | Device |
class | PS2Keyboard |
class | PS2Mouse |
class | TouchKit |
Enumerations | |
enum | { SelfTestPass = 0xAA , ReadID = 0xF2 , Enable = 0xF4 , Disable = 0xF5 , DefaultsAndDisable = 0xF6 , SelfTestFail = 0xFC , Ack = 0xFA , Resend = 0xFE , Reset = 0xFF } |
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. | |
EndBitUnion (Ps2MouseMovement) void keySymToPs2(uint32_t key | |
Convert an x11 key symbol into a set of ps2 charecters. | |
Variables | |
static const uint16_t | keySymToPs2Byte [128] |
Table to convert simple key symbols (0x00XX) into ps2 bytes. | |
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 |
gem5::ps2::BitUnion8 | ( | Ps2MouseMovement | ) |
A bitfield that represents the first byte of a mouse movement packet.
gem5::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 gem5::ps2::keySymToPs2 | ( | uint32_t | key, |
bool | down, | ||
bool & | cur_shift, | ||
std::list< uint8_t > & | keys ) |
Definition at line 87 of file types.cc.
References BreakKey, cur_shift, down, ExtendedKey, keys, keySymToPs2Byte, gem5::ArmISA::shift, ShiftKey, UpperKeys, and warn.
Referenced by gem5::ps2::PS2Keyboard::keyPress().
const uint8_t gem5::ps2::BreakKey = 0xf0 |
Definition at line 82 of file types.cc.
Referenced by keySymToPs2().
bool bool& gem5::ps2::cur_shift |
Definition at line 133 of file types.hh.
Referenced by keySymToPs2().
bool gem5::ps2::down |
Definition at line 133 of file types.hh.
Referenced by gem5::ps2::PS2Keyboard::keyPress(), and keySymToPs2().
const uint8_t gem5::ps2::ExtendedKey = 0xe0 |
Definition at line 83 of file types.cc.
Referenced by keySymToPs2().
bool bool std::list<uint8_t>& gem5::ps2::keys |
Definition at line 134 of file types.hh.
Referenced by gem5::ps2::PS2Keyboard::keyPress(), and keySymToPs2().
|
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 61 of file types.cc.
Referenced by keySymToPs2().
const uint8_t gem5::ps2::ShiftKey = 0x12 |
Definition at line 81 of file types.cc.
Referenced by keySymToPs2().
const uint32_t gem5::ps2::UpperKeys = 0xff00 |
Definition at line 84 of file types.cc.
Referenced by keySymToPs2().