Skip to content

Conversation

@pastaq
Copy link
Contributor

@pastaq pastaq commented Aug 16, 2024

No description provided.

@pastaq
Copy link
Contributor Author

pastaq commented Nov 4, 2024

I seem to have lost any interest from owners for getting this working. I need a tester to figure out where we were and what needs doing.

@pastaq pastaq marked this pull request as ready for review May 10, 2025 20:49
@pastaq pastaq requested a review from ShadowApex July 17, 2025 01:34
@pastaq
Copy link
Contributor Author

pastaq commented Jul 17, 2025

@ShadowApex as this is stalled, lets merge and fix any issues that come from bugs if any.

@pastaq
Copy link
Contributor Author

pastaq commented Dec 8, 2025

Once #441 is added, the baseline TTY device support should allow improvement of this PR. It uses a different serial device, and only M1/M2 are provided from it so it won't have the same limitations.

Posting the archived data from that RE effort from January 25 here so it doesn't get lost.

/dev/ttyUSB0 :

Received data: 271a3f230200000000010000003f1a [ Button: m1, Event: down ]
Received data: 281a3f230200000000020000003f1a [ Button: m1, Event: up ]
Received data: 0f1a3f240202020000010000003f1a [ Button: kbd, Event: down ]
Received data: 101a3f240202020000020000003f1a [ Button: kbd, Event: up ]
Received data: 291a3f220200000000010000003f1a [ Button: m2, Event: down ]
Received data: 2a1a3f220200000000020000003f1a [ Button: m2, Event: up ]

python script used to capture data:

import serial
                
DATA_SIZE = 15
ID=3
EV=9

buttons = {
    0x22: "m1",
    0x23: "m2",
    0x24: "kbd",
}

events = {
    0x01: "down",
    0x02: "up",
}

if __name__ == "__main__":
    prev_data = None
    try:
        with serial.Serial(port='/dev/ttyUSB0', baudrate=115200, 
                           bytesize = serial.EIGHTBITS, parity = serial.PARITY_EVEN,
                           stopbits = serial.STOPBITS_TWO) as ser:

            while True:
                if ser.in_waiting > DATA_SIZE:
                    data = ser.read(DATA_SIZE)
                    if data == prev_data:
                        continue
                    hex_data = data.hex()
                    print(f"Received data: {hex_data} [ Button: {buttons.get(data[ID])}, Event: {events.get(data[EV])} ]")
                    prev_data = data
    except Exception as e:
        print(f"Error: {e}")

edit
Actually, I should be able to re-use the oxfly driver with the addition of one event for the keyboard device.

@pastaq
Copy link
Contributor Author

pastaq commented Dec 9, 2025

udevadm_dump_x1_usb0.txt

@pastaq
Copy link
Contributor Author

pastaq commented Dec 9, 2025

This will be superseded by #441

@pastaq pastaq closed this Dec 9, 2025
@pastaq pastaq deleted the pastaq/oxp_x1 branch December 9, 2025 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants