Fix for flightgear enumeration issue
Signed-off-by: fly <merspieler@alwaysdata.net>
This commit is contained in:
parent
d89f5be067
commit
48c3cb4701
3 changed files with 7 additions and 12 deletions
|
@ -4,11 +4,7 @@ usage = ['Generic Desktop', 'Joystick']
|
|||
[[applicationCollection.inputReport]]
|
||||
|
||||
[[applicationCollection.inputReport.variableItem]]
|
||||
usageRange = ['Button', 'Button 1', 'Button 64']
|
||||
logicalValueRange = [0, 1]
|
||||
|
||||
[[applicationCollection.inputReport.variableItem]]
|
||||
usageRange = ['Button', 'Button 1', 'Button 32']
|
||||
usageRange = ['Button', 'Button 1', 'Button 128']
|
||||
logicalValueRange = [0, 1]
|
||||
|
||||
[[applicationCollection.outputReport]]
|
||||
|
|
|
@ -22,16 +22,12 @@ pub const CUSTOM_DESCRIPTOR: &[u8] = &[
|
|||
0x85, 0x01, // ReportId(1)
|
||||
0x05, 0x09, // UsagePage(Button[0x0009])
|
||||
0x19, 0x01, // UsageIdMin(Button 1[0x0001])
|
||||
0x29, 0x40, // UsageIdMax(Button 64[0x0040])
|
||||
0x29, 0x80, // UsageIdMax(Button 128[0x0080])
|
||||
0x15, 0x00, // LogicalMinimum(0)
|
||||
0x25, 0x01, // LogicalMaximum(1)
|
||||
0x95, 0x40, // ReportCount(64)
|
||||
0x95, 0x80, // ReportCount(128)
|
||||
0x75, 0x01, // ReportSize(1)
|
||||
0x81, 0x02, // Input(Data, Variable, Absolute, NoWrap, Linear, PreferredState, NoNullPosition, BitField)
|
||||
0x19, 0x01, // UsageIdMin(Button 1[0x0001])
|
||||
0x29, 0x20, // UsageIdMax(Button 32[0x0020])
|
||||
0x95, 0x20, // ReportCount(32)
|
||||
0x81, 0x02, // Input(Data, Variable, Absolute, NoWrap, Linear, PreferredState, NoNullPosition, BitField)
|
||||
0x05, 0x0E, // UsagePage(Haptics[0x000E])
|
||||
0x09, 0x21, // UsageId(Manual Trigger[0x0021])
|
||||
0x26, 0xFF, 0x00, // LogicalMaximum(255)
|
||||
|
@ -42,7 +38,7 @@ pub const CUSTOM_DESCRIPTOR: &[u8] = &[
|
|||
];
|
||||
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Default, PackedStruct)]
|
||||
#[packed_struct(endian = "lsb", size_bytes = "13")] // MUST be <= 64 else we get problem cause InBytes64 or OutBytes64
|
||||
#[packed_struct(endian = "lsb", size_bytes = "17")] // MUST be <= 64 else we get problem cause InBytes64 or OutBytes64
|
||||
pub struct CustomInputReport {
|
||||
#[packed_field]
|
||||
pub report_id: u8,
|
||||
|
@ -50,6 +46,8 @@ pub struct CustomInputReport {
|
|||
pub buttons1: u64,
|
||||
#[packed_field]
|
||||
pub buttons2: u32,
|
||||
#[packed_field]
|
||||
pub dummy: u32,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Default, PackedStruct)]
|
||||
|
|
|
@ -235,6 +235,7 @@ fn main() -> ! {
|
|||
report_id: 1,
|
||||
buttons1,
|
||||
buttons2,
|
||||
dummy: 0,
|
||||
};
|
||||
// Pull the next LSK column high for next time coming through in the main loop ~1ms
|
||||
if lsk_col_select <= 0 {
|
||||
|
|
Loading…
Reference in a new issue