Python evdev.ecodes.EV_ABS Examples
The following are 5
code examples of evdev.ecodes.EV_ABS().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
evdev.ecodes
, or try the search function
.
Example #1
Source File: elobau_j6_joystick.py From pyUSBtin with GNU General Public License v3.0 | 7 votes |
def __init__(self, can_id): self.can_id = can_id axis_cap = AbsInfo(-32700,32700,0,0,0,0) self._ev = UInput(name='vjoy', events={ ecodes.EV_ABS: [ (ecodes.ABS_X, axis_cap), (ecodes.ABS_Y, axis_cap), (ecodes.ABS_Z, axis_cap) ], ecodes.EV_KEY: [ ecodes.BTN_TRIGGER, ecodes.BTN_TOP, ecodes.BTN_TOP2 ] } )
Example #2
Source File: elobau_j6_joystick.py From pyUSBtin with GNU General Public License v3.0 | 6 votes |
def signal(self, x, y, z, b0, b1, b2): self._ev.write(ecodes.EV_ABS, ecodes.ABS_X, x) self._ev.write(ecodes.EV_ABS, ecodes.ABS_Y, y) self._ev.write(ecodes.EV_ABS, ecodes.ABS_Z, z) self._ev.write(ecodes.EV_KEY, ecodes.BTN_TRIGGER, b0) self._ev.write(ecodes.EV_KEY, ecodes.BTN_TOP, b1) self._ev.write(ecodes.EV_KEY, ecodes.BTN_TOP2, b2) self._ev.syn()
Example #3
Source File: config_manager.py From GPIOnext with MIT License | 6 votes |
def defineAxis( self, direction, dpad, deviceName, offset = 0 ): cmdName = '{0} {1}'.format( direction, dpad + 1 ) colorDirection = pcolor( 'cyan', direction ) colorDpad = pcolor( 'fuschia', dpad + 1 ) print( 'Hold {0} on Dpad/Joystick {1}'.format( colorDirection, colorDpad), end = ' ') sys.stdout.flush() pressed = self.wait_for_pin() pressed = ', '.join( map(str, pressed) ) print( '- Pin(s):', pressed ) self.waitForButtonRelease() if direction in ["DOWN", "RIGHT"]: value = JOYSTICK_AXIS.max else: value = JOYSTICK_AXIS.min command = '(e.EV_ABS, {0}, {1})'.format( dpad * 2 + offset, value ) return deviceName, cmdName, 'AXIS', command, pressed
Example #4
Source File: gui.py From oversteer with GNU General Public License v3.0 | 4 votes |
def read_events(self, device): for event in device.read(): if event.type == ecodes.EV_ABS: if event.code == ecodes.ABS_X: if self.emulation_mode != 'G29': value = event.value * 4 else: value = event.value self.ui.set_steering_input(value) elif event.code == ecodes.ABS_Y: if self.emulation_mode == 'DFGT' or self.emulation_mode == 'DFP': self.ui.set_accelerator_input(event.value) else: self.ui.set_clutch_input(event.value) elif event.code == ecodes.ABS_Z: if self.emulation_mode == 'DFGT' or self.emulation_mode == 'DFP': self.ui.set_brakes_input(event.value) else: self.ui.set_accelerator_input(event.value) elif event.code == ecodes.ABS_RZ: self.ui.set_brakes_input(event.value) elif event.code == ecodes.ABS_HAT0X: self.ui.set_hatx_input(event.value) if event.value == -1: self.on_button_press(100, 1) elif event.value == 1: self.on_button_press(101, 1) elif event.code == ecodes.ABS_HAT0Y: self.ui.set_haty_input(event.value) if event.value == -1: self.on_button_press(102, 1) elif event.value == 1: self.on_button_press(103, 1) if event.type == ecodes.EV_KEY: if event.value: delay = 0 else: delay = 100 if event.code >= 288 and event.code <= 303: button = event.code - 288 if event.code >= 704 and event.code <= 712: button = event.code - 688 self.ui.set_btn_input(button, event.value, delay) self.on_button_press(button, event.value)
Example #5
Source File: joy.py From aws-builders-fair-projects with Apache License 2.0 | 4 votes |
def handle_event(device, myMQTTClient): async for event in device.async_read_loop(): for num, joystick in enumerate(joysticks): if joystick['device']==device: jsindex = num categorized = categorize(event) if event.type == ecodes.EV_KEY: logging.debug(f'button push {joysticks[jsindex]["color"]} {joysticks[jsindex]["path"]}: {categorized.keycode}, {categorized.keystate}') logging.info(f'move {joysticks[jsindex]["move"]} locked {joysticks[jsindex]["movelocked"]}') if (categorized.keycode[0] == KEY_JOYSTICK or categorized.keycode[0] == KEY_BTNA) and categorized.keystate == 1 and not ( joysticks[jsindex]['move'] == '') and not ( joysticks[jsindex]['movelocked'] == True): #submit move if there is one logging.debug(f'move submitted for {joysticks[jsindex]["color"]}, {joysticks[jsindex]["device"]}:{joysticks[jsindex]["move"]}') joysticks[jsindex]['movelocked']=True message = {} message['joystick']=joysticks[jsindex]['color'] message['move']=joysticks[jsindex]['move'] jsonmsg = json.dumps(message) topic = joysticks[jsindex]['movetopic'] myMQTTClient.publish(topic, jsonmsg, 0) logging.info(f'posted move {jsonmsg}') await setLightStatus(jsindex, MOVE_LOCKED) elif (categorized.keycode==KEY_THUMB or categorized.keycode==KEY_TL2 ) and categorized.keystate==1: #for debugging, clear move joysticks[jsindex]['move'] = '' joysticks[jsindex]['movelocked']=False await setLightStatus(jsindex, READY_FOR_MOVES) logging.info(f'{joysticks[jsindex]["color"]} {joysticks[jsindex]["path"]} unlocked') logging.info(f'{joysticks}') elif event.type == ecodes.EV_ABS and joysticks[jsindex]['movelocked']==False and ( event.value == ABS_LEFT or event.value==ABS_RIGHT): logging.debug(f'joystick move {joysticks[jsindex]["move"]} {joysticks[jsindex]["path"]} value: {event.value} {event}') if event.code == ABS_X: if event.value == ABS_RIGHT: joysticks[jsindex]['move'] = MOVE_RIGHT logging.info(f'{joysticks[jsindex]["color"]} {joysticks[jsindex]["path"]} right') elif event.value == ABS_LEFT: joysticks[jsindex]['move'] = MOVE_LEFT logging.info(f'{joysticks[jsindex]["color"]} {joysticks[jsindex]["path"]} left') elif event.code == ABS_Y: if event.value == ABS_UP: joysticks[jsindex]['move'] = MOVE_FORWARD logging.info(f'{joysticks[jsindex]["color"]} {joysticks[jsindex]["path"]} forward')