@@ -5,63 +5,39 @@ namespace Plugin.Maui.KeyListener;
55
66internal static class KeyboardModifiersExtensions
77{
8+ static readonly KeyboardModifiers [ ] VirtualModifiersValues = Enum . GetValues < KeyboardModifiers > ( ) ;
9+
10+ static readonly UIKeyModifierFlags [ ] UIKeyModifierFlagsValues = Enum . GetValues < UIKeyModifierFlags > ( ) ;
11+
812 internal static UIKeyModifierFlags ToPlatformModifiers ( this KeyboardModifiers virtualModifiers )
913 {
10- List < UIKeyModifierFlags > platformModifierValues = new ( ) ;
14+ UIKeyModifierFlags platformModifiers = 0 ;
1115
12- foreach ( KeyboardModifiers virtualModifier in Enum . GetValues ( typeof ( KeyboardModifiers ) ) )
16+ foreach ( KeyboardModifiers virtualModifier in VirtualModifiersValues )
1317 {
1418 if ( virtualModifiers . HasFlag ( virtualModifier ) )
1519 {
1620 UIKeyModifierFlags platformModifier = ToPlatformModifier ( virtualModifier ) ;
17-
18- if ( platformModifier != 0 )
19- platformModifierValues . Add ( platformModifier ) ;
21+ platformModifiers |= platformModifier ;
2022 }
2123 }
2224
23- var platformModifiers = ToPlatformModifiers ( platformModifierValues ) ;
24-
2525 return platformModifiers ;
2626 }
2727
2828 internal static KeyboardModifiers ToVirtualModifiers ( this UIKeyModifierFlags platformModifiers )
2929 {
30- List < KeyboardModifiers > virtualModifierValues = new ( ) ;
30+ KeyboardModifiers virtualModifiers = 0 ;
3131
32- foreach ( UIKeyModifierFlags platformModifier in Enum . GetValues ( typeof ( UIKeyModifierFlags ) ) )
32+ foreach ( UIKeyModifierFlags platformModifier in UIKeyModifierFlagsValues )
3333 {
3434 if ( platformModifiers . HasFlag ( platformModifier ) )
3535 {
3636 KeyboardModifiers virtualModifier = ToVirtualModifier ( platformModifier ) ;
37-
38- if ( virtualModifier != 0 )
39- virtualModifierValues . Add ( virtualModifier ) ;
37+ virtualModifiers |= virtualModifier ;
4038 }
4139 }
4240
43- var virtualModifiers = ToVirtualModifiers ( virtualModifierValues ) ;
44-
45- return virtualModifiers ;
46- }
47-
48- static UIKeyModifierFlags ToPlatformModifiers ( List < UIKeyModifierFlags > platformModifierValues )
49- {
50- UIKeyModifierFlags platformModifiers = 0 ;
51-
52- foreach ( UIKeyModifierFlags platformModifier in platformModifierValues )
53- platformModifiers |= platformModifier ;
54-
55- return platformModifiers ;
56- }
57-
58- static KeyboardModifiers ToVirtualModifiers ( List < KeyboardModifiers > virtualModifierValues )
59- {
60- KeyboardModifiers virtualModifiers = 0 ;
61-
62- foreach ( KeyboardModifiers virtualModifer in virtualModifierValues )
63- virtualModifiers |= virtualModifer ;
64-
6541 return virtualModifiers ;
6642 }
6743
0 commit comments