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)
if isinstance(char, str):
# self.get_logger().info('pressed ' + char) # self.get_logger().info('pressed ' + char)
if char == 'w': if key == 'w':
self.get_logger().info('forward') self.get_logger().info('forward')
self.send_request(pitch=-10.0, yaw=0.0, self.send_request(pitch=-10.0, yaw=0.0,
roll=0.0, thrust=0.0) roll=0.0, thrust=0.0)
if char == 's': if key == 's':
self.get_logger().info('backward') self.get_logger().info('backward')
self.send_request(pitch=10.0, yaw=0.0, self.send_request(pitch=10.0, yaw=0.0,
roll=0.0, thrust=0.0) roll=0.0, thrust=0.0)
if char == 'a': if key == 'a':
self.get_logger().info('left') self.get_logger().info('left')
self.send_request(pitch=0.0, yaw=0.0, self.send_request(pitch=0.0, yaw=0.0,
roll=-10.0, thrust=0.0) roll=-10.0, thrust=0.0)
if char == 'd': if key == 'd':
self.get_logger().info('right') self.get_logger().info('right')
self.send_request(pitch=0.0, yaw=0.0, self.send_request(pitch=0.0, yaw=0.0,
roll=10.0, thrust=0.0) roll=10.0, thrust=0.0)
if char == 'q': if key == 'q':
self.get_logger().info('rotate left') self.get_logger().info('rotate left')
self.send_request(pitch=0.0, yaw=-10.0, self.send_request(pitch=0.0, yaw=-10.0,
roll=0.0, thrust=0.0) roll=0.0, thrust=0.0)
if char == 'e': if key == 'e':
self.get_logger().info('rotate right') self.get_logger().info('rotate right')
self.send_request(pitch=0.0, yaw=10.0, self.send_request(pitch=0.0, yaw=10.0,
roll=0.0, thrust=0.0) roll=0.0, thrust=0.0)
else: # else:
try: # try:
# known keys like spacebar, ctrl # # known keys like spacebar, ctrl
name = key.name # name = key.name
vk = key.value.vk # vk = key.value.vk
except AttributeError: # except AttributeError:
# unknown keys like headphones skip song button # # unknown keys like headphones skip song button
name = 'UNKNOWN' # name = 'UNKNOWN'
vk = key.vk # vk = key.vk
# self.get_logger().info('pressed {} ({})'.format(name, vk)) # # self.get_logger().info('pressed {} ({})'.format(name, vk))
if vk == 32: # if vk == 32:
self.get_logger().info('up') # self.get_logger().info('up')
self.send_request(pitch=0.0, yaw=0.0, roll=0.0, thrust=0.05) # self.send_request(pitch=0.0, yaw=0.0, roll=0.0, thrust=0.05)
if vk == 65505: # if vk == 65505:
self.get_logger().info('down') # self.get_logger().info('down')
self.send_request(pitch=0.0, yaw=0.0, # self.send_request(pitch=0.0, yaw=0.0,
roll=0.0, thrust=-0.05) # 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):