change char to key

This commit is contained in:
Sem van der Hoeven
2023-05-04 11:49:06 +02:00
parent 96edc69227
commit 7133a11e92

View File

@@ -40,58 +40,52 @@ class TestController(Node):
def on_press(self, key): def on_press(self, key):
try: try:
char = getattr(key, 'char', None) # self.get_logger().info('pressed ' + char)
if isinstance(char, str): if key == 'w':
# self.get_logger().info('pressed ' + char) self.get_logger().info('forward')
if char == 'w': self.send_request(pitch=-10.0, yaw=0.0,
self.get_logger().info('forward') roll=0.0, thrust=0.0)
self.send_request(pitch=-10.0, yaw=0.0, if key == 's':
roll=0.0, thrust=0.0) self.get_logger().info('backward')
if char == 's': self.send_request(pitch=10.0, yaw=0.0,
self.get_logger().info('backward') roll=0.0, thrust=0.0)
self.send_request(pitch=10.0, yaw=0.0, if key == 'a':
roll=0.0, thrust=0.0) self.get_logger().info('left')
if char == 'a': self.send_request(pitch=0.0, yaw=0.0,
self.get_logger().info('left') roll=-10.0, thrust=0.0)
self.send_request(pitch=0.0, yaw=0.0, if key == 'd':
roll=-10.0, thrust=0.0) self.get_logger().info('right')
if char == 'd': self.send_request(pitch=0.0, yaw=0.0,
self.get_logger().info('right') roll=10.0, thrust=0.0)
self.send_request(pitch=0.0, yaw=0.0, if key == 'q':
roll=10.0, thrust=0.0) self.get_logger().info('rotate left')
if char == 'q': self.send_request(pitch=0.0, yaw=-10.0,
self.get_logger().info('rotate left') roll=0.0, thrust=0.0)
self.send_request(pitch=0.0, yaw=-10.0, if key == 'e':
roll=0.0, thrust=0.0) self.get_logger().info('rotate right')
if char == 'e': self.send_request(pitch=0.0, yaw=10.0,
self.get_logger().info('rotate right') roll=0.0, thrust=0.0)
self.send_request(pitch=0.0, yaw=10.0, # else:
roll=0.0, thrust=0.0) # try:
else: # # known keys like spacebar, ctrl
try: # name = key.name
# known keys like spacebar, ctrl # vk = key.value.vk
name = key.name # except AttributeError:
vk = key.value.vk # # unknown keys like headphones skip song button
except AttributeError: # name = 'UNKNOWN'
# unknown keys like headphones skip song button # vk = key.vk
name = 'UNKNOWN' # # self.get_logger().info('pressed {} ({})'.format(name, vk))
vk = key.vk # if vk == 32:
# self.get_logger().info('pressed {} ({})'.format(name, vk)) # self.get_logger().info('up')
if vk == 32: # self.send_request(pitch=0.0, yaw=0.0, roll=0.0, thrust=0.05)
self.get_logger().info('up') # if vk == 65505:
self.send_request(pitch=0.0, yaw=0.0, roll=0.0, thrust=0.05) # self.get_logger().info('down')
if vk == 65505: # self.send_request(pitch=0.0, yaw=0.0,
self.get_logger().info('down') # roll=0.0, thrust=-0.05)
self.send_request(pitch=0.0, yaw=0.0,
roll=0.0, thrust=-0.05)
except Exception as e: except Exception as e:
self.get_logger().error(str(e)) self.get_logger().error(str(e))
raise raise e
if key == keyboard.Key.esc:
self.get_logger().info('stopping listener')
raise keyboard.Listener.StopException
def main(args=None): def main(args=None):