@@ -119,7 +119,6 @@ pub async fn run_comfy_main_async(
119119            . expect ( "Couldn't append canvas to document body." ) ; 
120120    } 
121121
122- 
123122    let  scale_factor = game_config ( ) 
124123        . scale_factor_override 
125124        . unwrap_or ( window. scale_factor ( )  as  f32 ) ; 
@@ -199,7 +198,6 @@ pub async fn run_comfy_main_async(
199198                            . set_cursor_visible ( !global_state. cursor_hidden ) ; 
200199                    } 
201200
202- 
203201                    set_frame_time ( frame_start. elapsed ( ) . as_secs_f32 ( ) ) ; 
204202                    inc_frame_num ( ) ; 
205203
@@ -215,36 +213,32 @@ pub async fn run_comfy_main_async(
215213                    tracy_client:: frame_mark ( ) ; 
216214                } 
217215
218-                 Event :: DeviceEvent  {  event,  .. }  => { 
219-                     match  event { 
220-                         DeviceEvent :: Key ( input)  => { 
221-                             if  let  Some ( keycode)  =
222-                                 KeyCode :: try_from_winit ( input. physical_key ) 
223-                             { 
224-                                 match  input. state  { 
225-                                     ElementState :: Pressed  => { 
226-                                         let  mut  state =
227-                                             GLOBAL_STATE . borrow_mut ( ) ; 
216+                 Event :: DeviceEvent  {  event,  .. }  => match  event { 
217+                     DeviceEvent :: Key ( input)  => { 
218+                         if  let  Some ( keycode)  =
219+                             KeyCode :: try_from_winit ( input. physical_key ) 
220+                         { 
221+                             match  input. state  { 
222+                                 ElementState :: Pressed  => { 
223+                                     let  mut  state = GLOBAL_STATE . borrow_mut ( ) ; 
228224
229-                                          state. pressed . insert ( keycode) ; 
230-                                          state. just_pressed . insert ( keycode) ; 
231-                                          state. just_released . remove ( & keycode) ; 
232-                                      } 
225+                                     state. pressed . insert ( keycode) ; 
226+                                     state. just_pressed . insert ( keycode) ; 
227+                                     state. just_released . remove ( & keycode) ; 
228+                                 } 
233229
234-                                     ElementState :: Released  => { 
235-                                         let  mut  state =
236-                                             GLOBAL_STATE . borrow_mut ( ) ; 
230+                                 ElementState :: Released  => { 
231+                                     let  mut  state = GLOBAL_STATE . borrow_mut ( ) ; 
237232
238-                                         state. pressed . remove ( & keycode) ; 
239-                                         state. just_pressed . remove ( & keycode) ; 
240-                                         state. just_released . insert ( keycode) ; 
241-                                     } 
233+                                     state. pressed . remove ( & keycode) ; 
234+                                     state. just_pressed . remove ( & keycode) ; 
235+                                     state. just_released . insert ( keycode) ; 
242236                                } 
243237                            } 
244238                        } 
245-                         _ => { } 
246239                    } 
247-                 } 
240+                     _ => { } 
241+                 } , 
248242                Event :: WindowEvent  {  ref  event,  window_id :  _ }  => { 
249243                    if  engine. renderer . as_mut ( ) . unwrap ( ) . on_event ( event,  egui ( ) ) 
250244                    { 
@@ -310,6 +304,32 @@ pub async fn run_comfy_main_async(
310304                            } 
311305                        } 
312306
307+                         WindowEvent :: KeyboardInput  {  event,  .. }  => { 
308+                             if  let  Some ( keycode)  =
309+                                 KeyCode :: try_from_winit ( event. physical_key ) 
310+                             { 
311+                                 match  event. state  { 
312+                                     ElementState :: Pressed  => { 
313+                                         let  mut  state =
314+                                             GLOBAL_STATE . borrow_mut ( ) ; 
315+ 
316+                                         state. pressed . insert ( keycode) ; 
317+                                         state. just_pressed . insert ( keycode) ; 
318+                                         state. just_released . remove ( & keycode) ; 
319+                                     } 
320+ 
321+                                     ElementState :: Released  => { 
322+                                         let  mut  state =
323+                                             GLOBAL_STATE . borrow_mut ( ) ; 
324+ 
325+                                         state. pressed . remove ( & keycode) ; 
326+                                         state. just_pressed . remove ( & keycode) ; 
327+                                         state. just_released . insert ( keycode) ; 
328+                                     } 
329+                                 } 
330+                             } 
331+                         } 
332+ 
313333                        WindowEvent :: MouseWheel  {  delta,  .. }  => { 
314334                            let  mut  global_state = GLOBAL_STATE . borrow_mut ( ) ; 
315335
@@ -330,8 +350,8 @@ pub async fn run_comfy_main_async(
330350                        } 
331351
332352                        WindowEvent :: Resized ( physical_size)  => { 
333-                             if  physical_size. width  > min_resolution. 0  && 
334-                                 physical_size. height  > min_resolution. 1 
353+                             if  physical_size. width  > min_resolution. 0 
354+                                 &&  physical_size. height  > min_resolution. 1 
335355                            { 
336356                                engine. resize ( uvec2 ( 
337357                                    physical_size. width , 
0 commit comments