in robogym/viewer/env_viewer.py [0:0]
def key_callback(self, window, key, scancode, action, mods):
# Trigger on keyup only:
if action != glfw.RELEASE:
return
if key == glfw.KEY_ESCAPE:
self.env.close()
# Increment experiment seed
elif key == glfw.KEY_N:
self.seed += 1
self.env.seed(self.seed)
self.env_reset()
self.action = self.zero_action(self.env.action_space)
elif key == glfw.KEY_G:
self.env_reset_goal()
self.action = self.zero_action(self.env.action_space)
# Decrement experiment trial
elif key == glfw.KEY_P:
self.seed = max(self.seed - 1, 0)
self.env.seed(self.seed)
self.env_reset()
self.action = self.zero_action(self.env.action_space)
if key == glfw.KEY_A:
if isinstance(self.env.action_space, Box):
self.action[self.action_mod_index] -= 0.05
elif isinstance(self.env.action_space, MultiDiscrete):
self.action[self.action_mod_index] = max(
0, self.action[self.action_mod_index] - 1
)
elif key == glfw.KEY_Z:
if isinstance(self.env.action_space, Box):
self.action[self.action_mod_index] += 0.05
elif isinstance(self.env.action_space, MultiDiscrete):
self.action[self.action_mod_index] = min(
self.env.action_space.nvec[self.action_mod_index] - 1,
self.action[self.action_mod_index] + 1,
)
elif key == glfw.KEY_K:
self.action_mod_index = (self.action_mod_index + 1) % self.num_action
elif key == glfw.KEY_J:
self.action_mod_index = (self.action_mod_index - 1) % self.num_action
elif key == glfw.KEY_B:
if self._has_debug_option():
self.env.unwrapped.parameters.debug = (
not self.env.unwrapped.parameters.debug
)
super().key_callback(window, key, scancode, action, mods)