comparison mac/dw.m @ 724:41080d22edc8

Couple more fixes to keyhandling... committed before I finished what I was doing... Problem of views not having focus and ignoring the keystrokes remains...
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 14 Mar 2011 02:08:36 +0000
parents 37c8d2b4cec5
children 4e09c92363df
comparison
equal deleted inserted replaced
723:37c8d2b4cec5 724:41080d22edc8
181 case 2: 181 case 2:
182 { 182 {
183 int (*keypressfunc)(HWND, char, int, int, void *) = handler->signalfunction; 183 int (*keypressfunc)(HWND, char, int, int, void *) = handler->signalfunction;
184 NSString *nchar = [event charactersIgnoringModifiers]; 184 NSString *nchar = [event charactersIgnoringModifiers];
185 int special = (int)[event modifierFlags]; 185 int special = (int)[event modifierFlags];
186 unichar vk = [nchar characterAtIndex:0];
186 char ch; 187 char ch;
187 188
188 /* Reject dead keys */
189 if([nchar length] == 0)
190 {
191 return 0;
192 }
193 /* Handle a valid key */ 189 /* Handle a valid key */
194 else if([nchar length] == 1) 190 if([nchar length] == 1)
195 { 191 {
196 const char *tmp = [nchar UTF8String]; 192 const char *tmp = [nchar UTF8String];
197 if(tmp) 193 if(tmp)
198 { 194 {
199 ch = tmp[0]; 195 ch = tmp[0];
200 } 196 }
201 } 197 }
202 198
203 return keypressfunc(handler->window, ch, 0, special, handler->data); 199 return keypressfunc(handler->window, ch, (int)vk, special, handler->data);
204 } 200 }
205 /* Button press and release event */ 201 /* Button press and release event */
206 case 3: 202 case 3:
207 case 4: 203 case 4:
208 { 204 {