@@ -2674,10 +2674,59 @@ public void Devices_AnyKeyOnKeyboard_DoesNotReactToIMESelected()
26742674 {
26752675 var keyboard = InputSystem . AddDevice < Keyboard > ( ) ;
26762676
2677- InputSystem . QueueStateEvent ( keyboard , new KeyboardState ( Key . IMESelected ) ) ;
2677+ InputSystem . QueueStateEvent ( keyboard , new KeyboardState ( IMESelected : true ) ) ;
26782678 InputSystem . Update ( ) ;
26792679
26802680 Assert . That ( keyboard . anyKey . isPressed , Is . False ) ;
2681+ Assert . That ( keyboard . imeSelected . isPressed , Is . True ) ;
2682+ }
2683+
2684+ [ Test ]
2685+ [ Category ( "Devices" ) ]
2686+ [ Obsolete ( "Test obsolete IMESelected Key" ) ]
2687+ public void Devices_ImeSelectedKeyOnKeyboard_SupportObsoleteIMESelectedKey ( )
2688+ {
2689+ var keyboard = InputSystem . AddDevice < Keyboard > ( ) ;
2690+
2691+ InputSystem . QueueStateEvent ( keyboard , new KeyboardState ( Key . IMESelected ) ) ;
2692+ InputSystem . Update ( ) ;
2693+
2694+ Assert . That ( keyboard . imeSelected . isPressed , Is . True ) ;
2695+ }
2696+
2697+ [ Test ]
2698+ [ Category ( "Devices" ) ]
2699+ public void Devices_ImeSelectedKeyOnKeyboard_IsBackwardCompatible ( )
2700+ {
2701+ var keyboard = InputSystem . AddDevice < Keyboard > ( ) ;
2702+
2703+ var oldKeyboardStateWithIMESelected = new KeyboardState ( Key . None ) ;
2704+ // Hard coded state from previous version that have IMESelected setted
2705+ unsafe
2706+ {
2707+ oldKeyboardStateWithIMESelected . keys [ 0 ] = 0 ;
2708+ oldKeyboardStateWithIMESelected . keys [ 1 ] = 0 ;
2709+ oldKeyboardStateWithIMESelected . keys [ 2 ] = 0 ;
2710+ oldKeyboardStateWithIMESelected . keys [ 3 ] = 0 ;
2711+ oldKeyboardStateWithIMESelected . keys [ 4 ] = 0 ;
2712+ oldKeyboardStateWithIMESelected . keys [ 5 ] = 0 ;
2713+ oldKeyboardStateWithIMESelected . keys [ 6 ] = 0 ;
2714+ oldKeyboardStateWithIMESelected . keys [ 7 ] = 0 ;
2715+
2716+ oldKeyboardStateWithIMESelected . keys [ 8 ] = 0 ;
2717+ oldKeyboardStateWithIMESelected . keys [ 9 ] = 0 ;
2718+ oldKeyboardStateWithIMESelected . keys [ 10 ] = 0 ;
2719+ oldKeyboardStateWithIMESelected . keys [ 11 ] = 0 ;
2720+ oldKeyboardStateWithIMESelected . keys [ 12 ] = 0 ;
2721+ oldKeyboardStateWithIMESelected . keys [ 13 ] = 128 ;
2722+ oldKeyboardStateWithIMESelected . keys [ 14 ] = 0 ;
2723+ oldKeyboardStateWithIMESelected . keys [ 15 ] = 0 ;
2724+ }
2725+
2726+ InputSystem . QueueStateEvent ( keyboard , oldKeyboardStateWithIMESelected ) ;
2727+ InputSystem . Update ( ) ;
2728+
2729+ Assert . That ( keyboard . imeSelected . isPressed , Is . True ) ;
26812730 }
26822731
26832732 [ Test ]
0 commit comments