Xbox One Elite (Gen 1) Sniff
This is close documentation for a sniff of an Xbox One Elite (Gen 1) packet sniff, for those learning how to read packet sniffs.
The title of each section in the document is following this format:
<Important Value> - <Bit Location> - <Name of Button Pressed>
Numbering Scheme
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:02:1d:10:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:10:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00
Proposed Code Implementation
typedef struct {
uint8_t command;
uint8_t reserved1;
uint8_t counter;
uint8_t size;
uint16_t buttons;
uint16_t trigL, trigR;
int16_t left, right;
uint16_t true_buttons;
uint16_t true_trigL, true_trigR;
int16_t true_left, true_right;
uint8_t paddle;
} XBOXONE_ELITE_IN_REPORT;
0x0010
- Bit 04
- A
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:02:1d:10:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:10:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00
20:00:03:1d:00:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00
0x0020
- Bit 05
- B
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:04:1d:20:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:20:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00
20:00:05:1d:00:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00
0x0040
- Bit 06
- X
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:06:1d:40:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:40:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00
20:00:07:1d:00:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00
0x0080
- Bit 07
- Y
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:08:1d:80:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:80:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00
20:00:09:1d:00:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00:00:00:00:00:00:66:02:97:f8:d5:02:d7:fb:00
Preset Switch Toggle from 1 to 2
Notice how [32]
changes from 00
to 10
from previous packet. This change does not send its own packet. It just changes outgoing packets.
0x1000
- Bit 12
- Left Bumper
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:0b:1d:00:10:00:00:00:00:52:02:8f:f8:c4:02:ee:fb:00:10:00:00:00:00:52:02:8f:f8:c4:02:ee:fb:10
20:00:0c:1d:00:00:00:00:00:00:52:02:8f:f8:c4:02:ee:fb:00:00:00:00:00:00:52:02:8f:f8:c4:02:ee:fb:10
0x2000
- Bit 13
- Right Bumper
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:0d:1d:00:20:00:00:00:00:52:02:8f:f8:c4:02:ee:fb:00:20:00:00:00:00:52:02:8f:f8:c4:02:ee:fb:10
20:00:0e:1d:00:00:00:00:00:00:52:02:8f:f8:c4:02:ee:fb:00:00:00:00:00:00:52:02:8f:f8:c4:02:ee:fb:10
0x4000
- Bit 14
- Left Stick Click
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:71:1d:00:40:00:00:00:00:c8:09:16:17:c4:02:ee:fb:00:40:00:00:00:00:c8:09:16:17:c4:02:ee:fb:10
20:00:7d:1d:00:00:00:00:00:00:5a:0c:65:1c:c4:02:ee:fb:00:00:00:00:00:00:5a:0c:65:1c:c4:02:ee:fb:10
0x8000
- Bit 15
- Right Stick Click
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:b1:1d:00:80:00:00:00:00:09:08:cd:fb:2c:08:ed:01:00:80:00:00:00:00:09:08:cd:fb:2c:08:ed:01:10
20:00:c1:1d:00:00:00:00:00:00:09:08:cd:fb:53:0a:2b:01:00:00:00:00:00:00:09:08:cd:fb:53:0a:2b:01:10
0x0100
- Bit 08
- D-Pad Up
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:d6:1d:00:01:00:00:00:00:09:08:cd:fb:b3:07:05:fb:00:01:00:00:00:00:09:08:cd:fb:b3:07:05:fb:10
20:00:d7:1d:00:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:00:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:10
0x0200
- Bit 09
- D-Pad Down
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:d8:1d:00:02:00:00:00:00:09:08:cd:fb:b3:07:05:fb:00:02:00:00:00:00:09:08:cd:fb:b3:07:05:fb:10
20:00:d9:1d:00:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:00:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:10
0x0400
- Bit 10
- D-Pad Left
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:da:1d:00:04:00:00:00:00:09:08:cd:fb:b3:07:05:fb:00:04:00:00:00:00:09:08:cd:fb:b3:07:05:fb:10
20:00:db:1d:00:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:00:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:10
0x0800
- Bit 11
- D-Pad Right
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:dc:1d:00:08:00:00:00:00:09:08:cd:fb:b3:07:05:fb:00:08:00:00:00:00:09:08:cd:fb:b3:07:05:fb:10
20:00:dd:1d:00:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:00:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:10
0x0008
- Bit 03
- View
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:de:1d:08:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:08:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:10
20:00:df:1d:00:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:00:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:10
0x0004
- Bit 02
- Menu
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:e0:1d:04:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:04:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:10
20:00:e1:1d:00:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:00:00:00:00:00:00:09:08:cd:fb:b3:07:05:fb:10
0x0010
- Bit 04
- A
Initiated using the Upper Left Paddle
Notice how [4]
and [18]
differ. Also notice the change in [32]
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:cb:1d:10:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:00:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:11
20:00:cc:1d:00:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:00:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:10
0x0020
- Bit 05
- B
Initiated using the Upper Right Paddle
Notice how [4]
and [18]
differ. Also notice the change in [32]
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:cd:1d:20:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:00:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:12
20:00:ce:1d:00:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:00:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:10
0x0040
- Bit 06
- X
Initiated using the Lower Left Paddle
Notice how [4]
and [18]
differ. Also notice the change in [32]
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:cf:1d:40:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:00:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:14
20:00:d0:1d:00:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:00:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:10
0x0080
- Bit 07
- Y
Initiated using the Lower Right Paddle
Notice how [4]
and [18]
differ. Also notice the change in [32]
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:d1:1d:80:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:00:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:18
20:00:d2:1d:00:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:00:00:00:00:00:00:4c:04:5c:f8:17:03:b2:fb:10
Preset Switch Toggle from 2 to 1
Notice how [32]
changes from 10
to 00
from previous packet. This change does not send its own packet. It just changes outgoing packets.
0x1000
- Bit 12
- Left Bumper
Remapping Upper Left Paddle to Left Bumper. Notice the change in [32]
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:d4:1d:00:10:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:00:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:01
20:00:d5:1d:00:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:00:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:00
0x2000
- Bit 13
- Right Bumper
Remapping Upper Right Paddle to Right Bumper. Notice the change in [32]
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:d6:1d:00:20:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:00:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:02
20:00:d7:1d:00:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:00:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:00
0x0040
- Bit 06
- X
Remapping Lower Left Paddle to X. Notice the change in [32]
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:d8:1d:40:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:00:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:04
20:00:d9:1d:00:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:00:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:00
0x0080
- Bit 07
- Y
Remapping Lower Right Paddle to Y. Notice the change in [32]
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
--------------------------------------------------------------------------------------------------
20:00:da:1d:80:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:00:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:08
20:00:db:1d:00:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:00:00:00:00:00:00:74:04:5c:f8:2a:03:ee:fb:00