我有一个 arduino,它给我来自电位计 (300-600) 的数字,设备 /dev/ttyACM0 波特率 9600。
我想将这些数字用作 1 轴操纵杆。
我的系统是archlinux和X-Displaymanager。
答案1
我已经用 python 和 uinput 完成了:
#!/bin/env python2
import serial
import time
import uinput
ser = serial.Serial('/dev/ttyACM0', 9600)
events = (uinput.BTN_JOYSTICK, uinput.ABS_X + (0, 255, 0, 0))
device = uinput.Device(events)
device.emit(uinput.ABS_X, 128, syn=False)
while True:
value = ser.readline()
valuecorrect = value.strip()
valuecorrect = int(valuecorrect)/4
print valuecorrect
device.emit(uinput.ABS_X, int(valuecorrect))
对于校准,我使用 jstest-gtk。