summaryrefslogtreecommitdiff
path: root/hw/darwin/quartz/quartzKeyboard.c
diff options
context:
space:
mode:
authorBen Byer <bbyer@bbyer.local>2007-11-05 05:44:54 -0800
committerBen Byer <bbyer@bbyer.local>2007-11-05 05:45:21 -0800
commitb1764ddf133cfdf979db62ee2491124a4798b55b (patch)
tree89344b39dd54b5e4bf30409fd98056443de0b9dc /hw/darwin/quartz/quartzKeyboard.c
parent10fde62fc88302f7d3b2546239b1679be249567c (diff)
pulling more patches over from xorg-xserver-1.2-apple branch
Diffstat (limited to 'hw/darwin/quartz/quartzKeyboard.c')
-rw-r--r--hw/darwin/quartz/quartzKeyboard.c62
1 files changed, 30 insertions, 32 deletions
diff --git a/hw/darwin/quartz/quartzKeyboard.c b/hw/darwin/quartz/quartzKeyboard.c
index f81ef0abc..b580a8e84 100644
--- a/hw/darwin/quartz/quartzKeyboard.c
+++ b/hw/darwin/quartz/quartzKeyboard.c
@@ -217,42 +217,41 @@ DarwinModeReadSystemKeymap (darwinKeyboardInfo *info)
const void *chr_data = NULL;
int num_keycodes = NUM_KEYCODES;
UInt32 keyboard_type = 0;
- int is_uchr, i, j;
+ int is_uchr = 1, i, j;
OSStatus err;
KeySym *k;
TISInputSourceRef currentKeyLayoutRef = TISCopyCurrentKeyboardLayoutInputSource();
- if (currentKeyLayoutRef)
- {
- CFDataRef currentKeyLayoutDataRef = (CFDataRef )TISGetInputSourceProperty(currentKeyLayoutRef, kTISPropertyUnicodeKeyLayoutData);
- if (currentKeyLayoutDataRef)
- chr_data = CFDataGetBytePtr(currentKeyLayoutDataRef);
- }
-
- if (chr_data != NULL)
- {
- KLGetCurrentKeyboardLayout (&key_layout);
- KLGetKeyboardLayoutProperty (key_layout, kKLuchrData, &chr_data);
-
- if (chr_data != NULL)
+ if (currentKeyLayoutRef)
{
- is_uchr = 1;
- keyboard_type = LMGetKbdType ();
+ CFDataRef currentKeyLayoutDataRef = (CFDataRef )TISGetInputSourceProperty(currentKeyLayoutRef, kTISPropertyUnicodeKeyLayoutData);
+ if (currentKeyLayoutDataRef)
+ chr_data = CFDataGetBytePtr(currentKeyLayoutDataRef);
+ }
+
+ if(chr_data == NULL) {
+ KLGetCurrentKeyboardLayout (&key_layout);
+ KLGetKeyboardLayoutProperty (key_layout, kKLuchrData, &chr_data);
+
+ if (chr_data != NULL)
+ {
+ is_uchr = 1;
+ keyboard_type = LMGetKbdType ();
+ }
+ else
+ {
+ KLGetKeyboardLayoutProperty (key_layout, kKLKCHRData, &chr_data);
+
+ if (chr_data == NULL)
+ {
+ ErrorF ( "Couldn't get uchr or kchr resource\n");
+ return FALSE;
+ }
+
+ is_uchr = 0;
+ num_keycodes = 128;
+ }
}
- else
- {
- KLGetKeyboardLayoutProperty (key_layout, kKLKCHRData, &chr_data);
-
- if (chr_data == NULL)
- {
- ErrorF ( "Couldn't get uchr or kchr resource\n");
- return FALSE;
- }
-
- is_uchr = 0;
- num_keycodes = 128;
- }
- }
/* Scan the keycode range for the Unicode character that each
key produces in the four shift states. Then convert that to
@@ -376,8 +375,7 @@ DarwinModeReadSystemKeymap (darwinKeyboardInfo *info)
}
}
}
-
- if(currentKeyLayoutRef) CFRelease(currentKeyLayoutRef);
+ if(currentKeyLayoutRef) CFRelease(currentKeyLayoutRef);
return TRUE;
}