2
2
using ZwiftPlayConsoleApp . BLE ;
3
3
using ZwiftPlayConsoleApp . Configuration ;
4
4
using System . Text . Json ;
5
+ using ZwiftPlayConsoleApp . Logging ;
5
6
6
7
namespace ZwiftPlayConsoleApp . Utils ;
7
8
@@ -53,67 +54,70 @@ public class KeyboardKeys
53
54
public const int Z = 0x5A ;
54
55
public const int SUBTRACT = 0x6D ; // Numpad minus
55
56
public const int ADD = 0x6B ; // Numpad plus
56
-
57
57
private static Config ? _config ;
58
-
59
- public static void Initialize ( Config config )
58
+ private static ConfigurableLogger ? _logger ;
59
+ public static void Initialize ( Config config , IZwiftLogger logger )
60
60
{
61
61
_config = config ;
62
+ _logger = new ConfigurableLogger (
63
+ ( ( ConfigurableLogger ) logger ) . _config ,
64
+ nameof ( KeyboardKeys )
65
+ ) ;
62
66
}
63
- public static void ProcessZwiftPlay ( ButtonChange change )
64
- {
65
- if ( _config == null || ! _config . SendKeys )
66
- {
67
- return ;
68
- }
69
-
70
- ( byte ? keyCode , bool withShift ) = _config . UseMapping
71
- ? GetMappedKey ( _config . KeyboardMapping . ButtonToKeyMap , change . Button )
72
- : ( GetKeyCode ( change . Button ) , false ) ;
73
-
74
- if ( keyCode == null )
75
- {
76
- return ;
77
- }
78
-
79
- if ( change . IsPressed )
80
- {
81
- PressKey ( ( byte ) keyCode , withShift ) ;
82
- }
83
- else
84
- {
85
- ReleaseKey ( ( byte ) keyCode , withShift ) ;
86
- }
87
- }
88
-
89
- private static ( byte ? keyCode , bool withShift ) GetMappedKey ( Dictionary < ZwiftPlayButton , KeyMapping > mapping , ZwiftPlayButton button )
90
- {
91
- if ( mapping . TryGetValue ( button , out var keyMapping ) )
92
- {
93
- var withShift = keyMapping . OriginalMapping . StartsWith ( "SHIFT+" , StringComparison . OrdinalIgnoreCase ) ;
94
- //Console.WriteLine($"Mapped {button} to {keyMapping.OriginalMapping} with shift: {withShift}");
95
- return ( keyMapping . KeyCode , withShift ) ;
96
- }
97
- return ( null , false ) ;
98
- }
99
-
100
- private static byte ? GetKeyCode ( ZwiftPlayButton button )
101
- {
102
- switch ( button )
103
- {
104
- case ZwiftPlayButton . Up :
105
- return UP ;
106
- case ZwiftPlayButton . Down :
107
- return DOWN ;
108
- case ZwiftPlayButton . Left :
109
- return LEFT ;
67
+ public static void ProcessZwiftPlay ( ButtonChange change )
68
+ {
69
+ if ( _config == null || ! _config . SendKeys )
70
+ {
71
+ return ;
72
+ }
73
+
74
+ ( byte ? keyCode , bool withShift ) = _config . UseMapping
75
+ ? GetMappedKey ( _config . KeyboardMapping . ButtonToKeyMap , change . Button )
76
+ : ( GetKeyCode ( change . Button ) , false ) ;
77
+
78
+ if ( keyCode == null )
79
+ {
80
+ return ;
81
+ }
82
+
83
+ if ( change . IsPressed )
84
+ {
85
+ PressKey ( ( byte ) keyCode , withShift ) ;
86
+ }
87
+ else
88
+ {
89
+ ReleaseKey ( ( byte ) keyCode , withShift ) ;
90
+ }
91
+ }
92
+
93
+ private static ( byte ? keyCode , bool withShift ) GetMappedKey ( Dictionary < ZwiftPlayButton , KeyMapping > mapping , ZwiftPlayButton button )
94
+ {
95
+ if ( mapping . TryGetValue ( button , out var keyMapping ) )
96
+ {
97
+ var withShift = keyMapping . OriginalMapping . StartsWith ( "SHIFT+" , StringComparison . OrdinalIgnoreCase ) ;
98
+ _logger ? . LogInfo ( $ "Mapped { button } to { keyMapping . OriginalMapping } with shift: { withShift } ") ;
99
+ //Console.WriteLine($"Mapped {button} to {keyMapping.OriginalMapping} with shift: {withShift}");
100
+ return ( keyMapping . KeyCode , withShift ) ;
101
+ }
102
+ return ( null , false ) ;
103
+ }
104
+
105
+ private static byte ? GetKeyCode ( ZwiftPlayButton button )
106
+ {
107
+ switch ( button )
108
+ {
109
+ case ZwiftPlayButton . Up :
110
+ return UP ;
111
+ case ZwiftPlayButton . Down :
112
+ return DOWN ;
113
+ case ZwiftPlayButton . Left :
114
+ return LEFT ;
110
115
case ZwiftPlayButton . Right :
111
116
return RIGHT ;
112
117
case ZwiftPlayButton . LeftShoulder :
113
118
return LCONTROL ;
114
119
case ZwiftPlayButton . LeftPower :
115
120
break ;
116
-
117
121
case ZwiftPlayButton . A :
118
122
return A ;
119
123
case ZwiftPlayButton . B :
@@ -126,7 +130,6 @@ private static (byte? keyCode, bool withShift) GetMappedKey(Dictionary<ZwiftPlay
126
130
return RCONTROL ;
127
131
case ZwiftPlayButton . RightPower :
128
132
break ;
129
-
130
133
default :
131
134
throw new ArgumentOutOfRangeException ( nameof ( button ) , button , null ) ;
132
135
}
0 commit comments