HID Shared Memory: Difference between revisions
Created page with "HID shared memory is a 0x40000 byte read-only segment of memory shared between applications for input. The segment contains structures for most if not all input methods availa..." |
Add HID Keyboard structures |
||
Line 19: | Line 19: | ||
| 0x3800 | | 0x3800 | ||
| 0x400 | | 0x400 | ||
| | | Keyboard | ||
|- | |- | ||
| 0x3C00 | | 0x3C00 | ||
Line 292: | Line 292: | ||
|- | |- | ||
|} | |} | ||
===== Keyboard ===== | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size in bytes | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x20 | |||
| Keyboard Header | |||
|- | |||
| 0x20 | |||
| 0x30 * 17 | |||
| Keyboard Entries | |||
|- | |||
|} | |||
==== Keyboard Header ==== | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size in bytes | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x4 | |||
| Timestamp? | |||
|- | |||
| 0x4 | |||
| 0x4 | |||
| Unknown | |||
|- | |||
| 0x8 | |||
| 0x4 | |||
| Unknown | |||
|- | |||
| 0xC | |||
| 0x4 | |||
| Unknown | |||
|- | |||
| 0x10 | |||
| 0x8 | |||
| 6 when connected | |||
|- | |||
| 0x18 | |||
| 0x8 | |||
| Unknown | |||
|- | |||
|} | |||
==== Keyboard Entry ==== | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size in bytes | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x8 | |||
| Timestamp | |||
|- | |||
| 0x8 | |||
| 0x8 | |||
| Timestamp Again? | |||
|- | |||
| 0x10 | |||
| 0x4 | |||
| Modifier Mask | |||
|- | |||
| 0x18 | |||
| 0x20 | |||
| Keys Down, each key gets one bit based on the HID keyboard scan code (F1 is 0x3A, bit 0x3A is set) | |||
|- | |||
|} | |||
===== Controller Serials? ===== | ===== Controller Serials? ===== |