 13f50c7a53
			
		
	
	
		13f50c7a53
		
			
		
	
	
	
	
		
			
			# Objective The [`KeyCode`](https://github.com/bevyengine/bevy/blob/main/crates/bevy_input/src/keyboard.rs#L86) enum cases `LWin` and `RWin` are too opinionated because they are also assigned meaning by non-Windows operating systems. macOS calls the keys completely different. ## Solution Match [winits approach](https://github.com/rust-windowing/winit/blob/master/src/keyboard.rs#L1635) naming convention. --- ## Migration Guide Migrate by replacing: - `LAlt` → `AltLeft` - `RAlt` → `AltRight` - `LBracket` → `BracketLeft` - `RBracket` → `BracketRight` - `LControl` → `ControlLeft` - `RControl` → `ControlRight` - `LShift` → `ShiftLeft` - `RShift` → `ShiftRight` - `LWin` → `SuperLeft` - `RWin` → `SuperRight`
		
			
				
	
	
		
			21 lines
		
	
	
		
			598 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			598 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //! Demonstrates using key modifiers (ctrl, shift).
 | |
| 
 | |
| use bevy::prelude::*;
 | |
| 
 | |
| fn main() {
 | |
|     App::new()
 | |
|         .add_plugins(DefaultPlugins)
 | |
|         .add_systems(Update, keyboard_input_system)
 | |
|         .run();
 | |
| }
 | |
| 
 | |
| /// This system prints when `Ctrl + Shift + A` is pressed
 | |
| fn keyboard_input_system(input: Res<Input<KeyCode>>) {
 | |
|     let shift = input.any_pressed([KeyCode::ShiftLeft, KeyCode::ShiftRight]);
 | |
|     let ctrl = input.any_pressed([KeyCode::ControlLeft, KeyCode::ControlRight]);
 | |
| 
 | |
|     if ctrl && shift && input.just_pressed(KeyCode::A) {
 | |
|         info!("Just pressed Ctrl + Shift + A!");
 | |
|     }
 | |
| }
 |