通过数字输入模拟操纵杆输入

通过数字输入模拟操纵杆输入

我有一个 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。

相关内容