|
|
|
@ -34,7 +34,7 @@ class Keyboard: |
|
|
|
|
elif key in self.axes_map: |
|
|
|
|
axis = self.axes_map[key] |
|
|
|
|
incr = self.axis_increment if key in ['w', 'a'] else -self.axis_increment |
|
|
|
|
self.axes_values[axis] = np.clip(self.axes_values[axis] + incr, -1, 1) |
|
|
|
|
self.axes_values[axis] = float(np.clip(self.axes_values[axis] + incr, -1, 1)) |
|
|
|
|
else: |
|
|
|
|
return False |
|
|
|
|
return True |
|
|
|
@ -83,7 +83,7 @@ class Joystick: |
|
|
|
|
self.max_axis_value[event[0]] = max(event[1], self.max_axis_value[event[0]]) |
|
|
|
|
self.min_axis_value[event[0]] = min(event[1], self.min_axis_value[event[0]]) |
|
|
|
|
|
|
|
|
|
norm = -np.interp(event[1], [self.min_axis_value[event[0]], self.max_axis_value[event[0]]], [-1., 1.]) |
|
|
|
|
norm = -float(np.interp(event[1], [self.min_axis_value[event[0]], self.max_axis_value[event[0]]], [-1., 1.])) |
|
|
|
|
norm = norm if abs(norm) > 0.03 else 0. # center can be noisy, deadzone of 3% |
|
|
|
|
self.axes_values[event[0]] = EXPO * norm ** 3 + (1 - EXPO) * norm # less action near center for fine control |
|
|
|
|
else: |
|
|
|
|