mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 17:12:43 +00:00 
			
		
		
		
	KeyboardMapper: Show multiple pressed keys at once
When depressing a key, KeyboardMapperWidget::keydown_event() will now update only the pressed state of the button associated with the specific key, instead of also setting the pressed state of the all the buttons to false. This makes it possible to highlight multiple pressed keys at once and makes the code more consistent; the implementation of keyup_event implied that this was a feature of the program.
This commit is contained in:
		
							parent
							
								
									a1531dba91
								
							
						
					
					
						commit
						c4b2efd95e
					
				
					 1 changed files with 10 additions and 7 deletions
				
			
		|  | @ -215,23 +215,26 @@ void KeyboardMapperWidget::save_to_file(StringView filename) | |||
| void KeyboardMapperWidget::keydown_event(GUI::KeyEvent& event) | ||||
| { | ||||
|     for (int i = 0; i < KEY_COUNT; i++) { | ||||
|         if (keys[i].scancode != event.scancode()) | ||||
|             continue; | ||||
|         auto& tmp_button = m_keys.at(i); | ||||
|         tmp_button->set_pressed(keys[i].scancode == event.scancode()); | ||||
|         tmp_button->set_pressed(true); | ||||
|         tmp_button->update(); | ||||
|         break; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| void KeyboardMapperWidget::keyup_event(GUI::KeyEvent& event) | ||||
| { | ||||
|     for (int i = 0; i < KEY_COUNT; i++) { | ||||
|         if (keys[i].scancode == event.scancode()) { | ||||
|         if (keys[i].scancode != event.scancode()) | ||||
|             continue; | ||||
|         auto& tmp_button = m_keys.at(i); | ||||
|         tmp_button->set_pressed(false); | ||||
|         tmp_button->update(); | ||||
|         break; | ||||
|     } | ||||
| } | ||||
| } | ||||
| 
 | ||||
| void KeyboardMapperWidget::set_current_map(const String current_map) | ||||
| { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 RasmusNylander
						RasmusNylander