Object <- Server <- HardwareStream <- MagicBusClient <- MagicBusATKeyboard |
|
|
Attached CanHandlePeripheral Detached DispatchATKeys PeripheralRequest ReinitializeClass ResetKeyboard SetLedStatus SetMaximumBlockLength SetRepeatRate |
|
KeyModifiers |
| Field | Type | |
|---|---|---|
| Server: | enabled: | Boolean |
| Stream: | target: | Object |
| HardwareStream: | state: | Unsigned |
| readRate: | Unsigned | |
| writeRate: | Unsigned | |
| maxReadRate: | Unsigned | |
| maxWriteRate: | Unsigned | |
| defaultTimeout: | Unsigned | |
| MagicBusClient: | peripheralID: | Unsigned |
| peripheralName: | Object | |
| peripheralType: | Object | |
| peripheralManufacturer: | Object | |
| magicBusPeripheralInfo: | Object | |
| periphNumber: | UnsignedByte | |
| clientVersion: | UnsignedByte | |
| realtimeMode: | Boolean | |
| maxSendBlockLength: | Unsigned | |
| maxGetBlockLength: | Unsigned | |
| maxCurrent: | Signed | |
| typicalCurrent: | Signed | |
| quiescentCurrent: | Signed | |
| MagicBusATKeyboard: | keyModifiers: | Unsigned |
instance MagicBusATKeyboard tag; enabled: false; target: nilObject; state: 0; readRate: 0; writeRate: 0; maxReadRate: 0; maxWriteRate: 0; defaultTimeout: 0; peripheralID: 0; peripheralName: nilObject; peripheralType: nilObject; peripheralManufacturer: nilObject; magicBusPeripheralInfo: nilObject; periphNumber: 0; clientVersion: 0; realtimeMode: false; maxSendBlockLength: 0; maxGetBlockLength: 0; maxCurrent: 0; typicalCurrent: 0; quiescentCurrent: 0; keyModifiers: 0; end instance;
#endif Define Class MagicBusATKeyboard; inherits from MagicBusClient; field keyModifiers: Unsigned, getter, setter; overrides ReinitializeClass; overrides CanHandlePeripheral; overrides PeripheralRequest; // Handles request from keyboard for keycodes to be processed. overrides Attached, Detached; overrides SetMaximumBlockLength; // MagicBus specifies the longest send and get block lengths as well as // the maximum time per transaction (realtime peripherals IRQ latency). operation DispatchATKeys(buffer: ReadOnlyUnsignedByteArrayPointer; var count: Unsigned; var modifiers: Unsigned); operation ResetKeyboard(); // Resets entire Keyboard operation SetRepeatRate(repeatRate: Unsigned; delayRepeat: Unsigned); // Set Typematic rate operation SetLedStatus(modifiers: Unsigned); // Returns Status of Keyboard LEDs attribute KeyModifiers: Unsigned; end class;