re-implement J/K/U/L/I/O key bindings for mouseless gaming
This commit is contained in:
parent
7ec1cc885b
commit
780fa65349
|
@ -54,6 +54,7 @@ Press **ESC** to view these any time from the in-game menu.
|
||||||
- **T**: Cruise control
|
- **T**: Cruise control
|
||||||
- **R**: Rotate (hold + move mouse)
|
- **R**: Rotate (hold + move mouse)
|
||||||
- **AWSD/Shift/Ctrl**: Move
|
- **AWSD/Shift/Ctrl**: Move
|
||||||
|
- **J/K/U/L/I/O**: Rotate
|
||||||
- **F11**: Fullscreen
|
- **F11**: Fullscreen
|
||||||
- **Tab**: Toggle Augmented Reality
|
- **Tab**: Toggle Augmented Reality
|
||||||
- **Left click**: Target objects (in AR only)
|
- **Left click**: Target objects (in AR only)
|
||||||
|
|
|
@ -444,6 +444,7 @@ fn manage_player_actor(
|
||||||
|
|
||||||
pub fn apply_input_to_player(
|
pub fn apply_input_to_player(
|
||||||
mut commands: Commands,
|
mut commands: Commands,
|
||||||
|
time: Res<Time>,
|
||||||
settings: Res<var::Settings>,
|
settings: Res<var::Settings>,
|
||||||
mut q_player: Query<
|
mut q_player: Query<
|
||||||
(
|
(
|
||||||
|
@ -465,6 +466,7 @@ pub fn apply_input_to_player(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let (entity, mut accel, rot_change) = player.unwrap();
|
let (entity, mut accel, rot_change) = player.unwrap();
|
||||||
|
let dt = time.delta_seconds();
|
||||||
|
|
||||||
let (win_res_x, win_res_y): (f32, f32);
|
let (win_res_x, win_res_y): (f32, f32);
|
||||||
if let Ok(window) = &q_windows.get_single() {
|
if let Ok(window) = &q_windows.get_single() {
|
||||||
|
@ -478,6 +480,26 @@ pub fn apply_input_to_player(
|
||||||
// Determine rotation delta
|
// Determine rotation delta
|
||||||
let mut pitch_yaw_rot = Vec3::ZERO;
|
let mut pitch_yaw_rot = Vec3::ZERO;
|
||||||
let mut mouse_delta = Vec2::ZERO;
|
let mut mouse_delta = Vec2::ZERO;
|
||||||
|
let mouseless_sensitivity = 1.0 * dt;
|
||||||
|
let mouseless_rotation_sensitivity = 4.0 * dt;
|
||||||
|
if key_input.pressed(settings.key_mouseup) {
|
||||||
|
pitch_yaw_rot[0] -= mouseless_sensitivity;
|
||||||
|
}
|
||||||
|
if key_input.pressed(settings.key_mousedown) {
|
||||||
|
pitch_yaw_rot[0] += mouseless_sensitivity;
|
||||||
|
}
|
||||||
|
if key_input.pressed(settings.key_mouseleft) {
|
||||||
|
pitch_yaw_rot[1] += mouseless_sensitivity;
|
||||||
|
}
|
||||||
|
if key_input.pressed(settings.key_mouseright) {
|
||||||
|
pitch_yaw_rot[1] -= mouseless_sensitivity;
|
||||||
|
}
|
||||||
|
if key_input.pressed(settings.key_rotateleft) {
|
||||||
|
pitch_yaw_rot[2] -= mouseless_rotation_sensitivity;
|
||||||
|
}
|
||||||
|
if key_input.pressed(settings.key_rotateright) {
|
||||||
|
pitch_yaw_rot[2] += mouseless_rotation_sensitivity;
|
||||||
|
}
|
||||||
for mouse_event in mouse_events.read() {
|
for mouse_event in mouse_events.read() {
|
||||||
mouse_delta += mouse_event.delta;
|
mouse_delta += mouse_event.delta;
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ C: Camera
|
||||||
T: Cruise control
|
T: Cruise control
|
||||||
R: Rotate (hold + move mouse)
|
R: Rotate (hold + move mouse)
|
||||||
AWSD/Shift/Ctrl: Move
|
AWSD/Shift/Ctrl: Move
|
||||||
|
J/K/U/L/I/O: Rotate
|
||||||
F11: Fullscreen
|
F11: Fullscreen
|
||||||
Tab: Toggle Augmented Reality
|
Tab: Toggle Augmented Reality
|
||||||
Left click: Target objects (in AR only)
|
Left click: Target objects (in AR only)
|
||||||
|
|
Loading…
Reference in a new issue