The Pedigree Project  0.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PPCKeyboard Class Reference
+ Inheritance diagram for PPCKeyboard:
+ Collaboration diagram for PPCKeyboard:

Public Member Functions

virtual void initialise ()
 
virtual void setDebugState (bool enableDebugMode)
 
virtual bool getDebugState ()
 
virtual char getChar ()
 
virtual char getCharNonBlock ()
 
virtual Character getCharacter ()
 
virtual Character getCharacterNonBlock ()
 
virtual bool shift ()
 
virtual bool ctrl ()
 
virtual bool alt ()
 
virtual bool capsLock ()
 
- Public Member Functions inherited from Keyboard
virtual char getLedState ()
 
virtual void setLedState (char state)
 

Private Member Functions

 PPCKeyboard (const PPCKeyboard &)
 
PPCKeyboardoperator= (const PPCKeyboard &)
 

Private Attributes

OFHandle m_Dev
 

Additional Inherited Members

- Public Types inherited from Keyboard
enum  KeyFlags {
  Special = 1ULL << 63, Ctrl = 1ULL << 62, Shift = 1ULL << 61, Alt = 1ULL << 60,
  AltGr = 1ULL << 59, Special = 1ULL << 63, Ctrl = 1ULL << 62, Shift = 1ULL << 61,
  Alt = 1ULL << 60, AltGr = 1ULL << 59
}
 
enum  KeyboardLeds {
  ScrollLock = 1 << 0, NumLock = 1 << 1, CapsLock = 1 << 2, Led1 = 1 << 3,
  Led2 = 1 << 4, Led3 = 1 << 5, Led4 = 1 << 6, Led5 = 1 << 7
}
 Bit numbers follow the same format as the PS/2 keyboard LED byte. More...
 
enum  KeyFlags {
  Special = 1ULL << 63, Ctrl = 1ULL << 62, Shift = 1ULL << 61, Alt = 1ULL << 60,
  AltGr = 1ULL << 59, Special = 1ULL << 63, Ctrl = 1ULL << 62, Shift = 1ULL << 61,
  Alt = 1ULL << 60, AltGr = 1ULL << 59
}
 

Detailed Description

Definition at line 27 of file kernel/machine/ppc_common/Keyboard.h.

Member Function Documentation

virtual bool PPCKeyboard::alt ( )
inlinevirtual
Returns
True if alt is currently held.

Definition at line 93 of file kernel/machine/ppc_common/Keyboard.h.

virtual bool PPCKeyboard::capsLock ( )
inlinevirtual
Returns
True if caps lock is currently on.

Definition at line 101 of file kernel/machine/ppc_common/Keyboard.h.

virtual bool PPCKeyboard::ctrl ( )
inlinevirtual
Returns
True if ctrl is currently held.

Definition at line 85 of file kernel/machine/ppc_common/Keyboard.h.

char PPCKeyboard::getChar ( )
virtual

Retrieves a character from the keyboard. Blocking I/O.

Returns
The character recieved or zero if it is a character without an ascii representation.

Implements Keyboard.

Definition at line 38 of file ppc_common/Keyboard.cc.

References OpenFirmware::instance().

Keyboard::Character PPCKeyboard::getCharacter ( )
virtual

Retrieves a character from the keyboard in special descriptor format. Blocking I/O.

Returns
The character received along with any modifier keys used.

Definition at line 84 of file ppc_common/Keyboard.cc.

References X86Keyboard::getChar().

Keyboard::Character PPCKeyboard::getCharacterNonBlock ( )
virtual

Retrieves a character from the keyboard in special descriptor format. Nonblocking I/O.

Returns
The character recieved along with any modifier keys used. The character can be tested for validity with the CHARACTER_VALID macro.

Definition at line 95 of file ppc_common/Keyboard.cc.

References X86Keyboard::getCharNonBlock().

char PPCKeyboard::getCharNonBlock ( )
virtual

Retrieves a character from the keyboard. Non blocking I/O.

Returns
The character recieved or zero if it is a character without an ascii representation, or zero also if no character was present.

Implements Keyboard.

Definition at line 60 of file ppc_common/Keyboard.cc.

References OpenFirmware::instance().

void PPCKeyboard::initialise ( )
virtual

Initialises the device.

Implements Keyboard.

Definition at line 30 of file ppc_common/Keyboard.cc.

References OpenFirmware::instance().

void PPCKeyboard::setDebugState ( bool  enableDebugState)
virtual

Sets the state of the device. When debugging, it is unwise to rely on interrupt- driven I/O, however in normal use polling is extremely slow and CPU-intensive.

The debugger therefore will set the device to "debug state" by calling this function with the argument "true". In "debug state", any buffered input will be discarded, the device's interrupt masked, and the device will rely on polling only. This will be the default state.

When the device is set to "normal state" by calling this function with the argument "false", interrupts may be used, along with buffered input, and it is recommended that during blocking I/O a Semaphore is used to signal incoming interrupts, so that the blocked thread may go to sleep.

Implements Keyboard.

Definition at line 106 of file ppc_common/Keyboard.cc.

virtual bool PPCKeyboard::shift ( )
inlinevirtual
Returns
True if shift is currently held.

Definition at line 77 of file kernel/machine/ppc_common/Keyboard.h.

Member Data Documentation

OFHandle PPCKeyboard::m_Dev
private

Our keyboard device.

Definition at line 111 of file kernel/machine/ppc_common/Keyboard.h.


The documentation for this class was generated from the following files: