@@ -14,14 +14,15 @@ static io_connect_t _getAuxiliaryKeyDriver(void)
1414 mach_port_t masterPort , service , iter ;
1515 kern_return_t kr ;
1616
17- if (!sEventDrvrRef ) {
18- kr = IOMasterPort ( bootstrap_port , & masterPort );
17+ if (!sEventDrvrRef )
18+ {
19+ kr = IOMasterPort (bootstrap_port , & masterPort );
1920 assert (KERN_SUCCESS == kr );
20- kr = IOServiceGetMatchingServices (masterPort , IOServiceMatching ( kIOHIDSystemClass ), & iter );
21+ kr = IOServiceGetMatchingServices (masterPort , IOServiceMatching (kIOHIDSystemClass ), & iter );
2122 assert (KERN_SUCCESS == kr );
22- service = IOIteratorNext ( iter );
23+ service = IOIteratorNext (iter );
2324 assert (service );
24- kr = IOServiceOpen (service , mach_task_self (), kIOHIDParamConnectType , & sEventDrvrRef );
25+ kr = IOServiceOpen (service , mach_task_self (), kIOHIDParamConnectType , & sEventDrvrRef );
2526 assert (KERN_SUCCESS == kr );
2627 IOObjectRelease (service );
2728 IOObjectRelease (iter );
@@ -32,18 +33,21 @@ static io_connect_t _getAuxiliaryKeyDriver(void)
3233void toggleKeyCode (MMKeyCode code , const bool down , MMKeyFlags flags )
3334{
3435 /* The media keys all have 1000 added to them to help us detect them. */
35- if (code >= 1000 ) {
36+ if (code >= 1000 )
37+ {
3638 code = code - 1000 ; /* Get the real keycode. */
37- NXEventData event ;
39+ NXEventData event ;
3840 kern_return_t kr ;
39- IOGPoint loc = { 0 , 0 };
40- UInt32 evtInfo = code << 16 | (down ? NX_KEYDOWN : NX_KEYUP ) << 8 ;
41+ IOGPoint loc = {0 , 0 };
42+ UInt32 evtInfo = code << 16 | (down ? NX_KEYDOWN : NX_KEYUP ) << 8 ;
4143 bzero (& event , sizeof (NXEventData ));
4244 event .compound .subType = NX_SUBTYPE_AUX_CONTROL_BUTTONS ;
4345 event .compound .misc .L [0 ] = evtInfo ;
44- kr = IOHIDPostEvent ( _getAuxiliaryKeyDriver (), NX_SYSDEFINED , loc , & event , kNXEventDataVersion , 0 , FALSE );
45- assert ( KERN_SUCCESS == kr );
46- } else {
46+ kr = IOHIDPostEvent (_getAuxiliaryKeyDriver (), NX_SYSDEFINED , loc , & event , kNXEventDataVersion , 0 , FALSE);
47+ assert (KERN_SUCCESS == kr );
48+ }
49+ else
50+ {
4751 CGEventRef keyEvent = CGEventCreateKeyboardEvent (NULL , (CGKeyCode )code , down );
4852 assert (keyEvent != NULL );
4953
@@ -64,7 +68,8 @@ void toggleKey(char c, const bool down, MMKeyFlags flags)
6468{
6569 MMKeyCode keyCode = keyCodeForChar (c );
6670
67- if (isupper (c ) && !(flags & MOD_SHIFT )) {
71+ if (isupper (c ) && !(flags & MOD_SHIFT ))
72+ {
6873 flags |= MOD_SHIFT ; /* Not sure if this is safe for all layouts. */
6974 }
7075
@@ -85,20 +90,23 @@ void toggleUnicodeKey(unsigned long ch, const bool down)
8590 * flags. It is therefore only used in typeString() and typeStringDelayed()
8691 * -- if you need modifier keys, use the above functions instead. */
8792 CGEventRef keyEvent = CGEventCreateKeyboardEvent (NULL , 0 , down );
88- if (keyEvent == NULL ) {
93+ if (keyEvent == NULL )
94+ {
8995 fputs ("Could not create keyboard event.\n" , stderr );
9096 return ;
9197 }
9298
93- if (ch > 0xFFFF ) {
99+ if (ch > 0xFFFF )
100+ {
94101 // encode to utf-16 if necessary
95102 unsigned short surrogates [] = {
96103 0xD800 + ((ch - 0x10000 ) >> 10 ),
97- 0xDC00 + (ch & 0x3FF )
98- };
104+ 0xDC00 + (ch & 0x3FF )};
99105
100106 CGEventKeyboardSetUnicodeString (keyEvent , 2 , & surrogates );
101- } else {
107+ }
108+ else
109+ {
102110 CGEventKeyboardSetUnicodeString (keyEvent , 1 , & ch );
103111 }
104112
@@ -125,24 +133,32 @@ void typeString(const char *str)
125133 unsigned short c3 ;
126134 unsigned long n ;
127135
128- while (* str != '\0' ) {
136+ while (* str != '\0' )
137+ {
129138 c = * str ++ ;
130139
131140 // warning, the following utf8 decoder
132141 // doesn't perform validation
133- if (c <= 0x7F ) {
142+ if (c <= 0x7F )
143+ {
134144 // 0xxxxxxx one byte
135145 n = c ;
136- } else if ((c & 0xE0 ) == 0xC0 ) {
146+ }
147+ else if ((c & 0xE0 ) == 0xC0 )
148+ {
137149 // 110xxxxx two bytes
138150 c1 = (* str ++ ) & 0x3F ;
139151 n = ((c & 0x1F ) << 6 ) | c1 ;
140- } else if ((c & 0xF0 ) == 0xE0 ) {
152+ }
153+ else if ((c & 0xF0 ) == 0xE0 )
154+ {
141155 // 1110xxxx three bytes
142156 c1 = (* str ++ ) & 0x3F ;
143157 c2 = (* str ++ ) & 0x3F ;
144158 n = ((c & 0x0F ) << 12 ) | (c1 << 6 ) | c2 ;
145- } else if ((c & 0xF8 ) == 0xF0 ) {
159+ }
160+ else if ((c & 0xF8 ) == 0xF0 )
161+ {
146162 // 11110xxx four bytes
147163 c1 = (* str ++ ) & 0x3F ;
148164 c2 = (* str ++ ) & 0x3F ;
@@ -163,7 +179,8 @@ void typeStringDelayed(const char *str, const unsigned cpm)
163179 /* Average milli-seconds per character */
164180 const double mspc = (cps == 0.0 ) ? 0.0 : 1000.0 / cps ;
165181
166- while (* str != '\0' ) {
182+ while (* str != '\0' )
183+ {
167184 tapUniKey (* str ++ );
168185 microsleep (mspc + (DEADBEEF_UNIFORM (0.0 , 62.5 )));
169186 }
0 commit comments