Lines Matching +full:fn +full:- +full:keymap
4 Copyright (c) 2003-2012 Apple Inc.
5 Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved.
37 #include <dix-config.h>
79 /* Table of keycode->keysym mappings we use to fallback on for important
123 /* Table of keycode->old,new-keysym mappings we use to fixup the numeric
153 * http://developer.apple.com/legacy/mac/library/documentation/mac/Text/Text-579.html
155 * legacy Mac keycodes for arrow keys that shift-modify to math symbols
194 KeySym keyMap[MAP_LENGTH * GLYPHS_PER_KEY]; member
208 //-----------------------------------------------------------------------------
209 // Utility functions to help parse Darwin keymap
210 //-----------------------------------------------------------------------------
214 * Use the keyMap field of keyboard info structure to populate
223 memset(info->modMap, NoSymbol, sizeof(info->modMap)); in DarwinBuildModifierMaps()
224 memset(info->modifierKeycodes, 0, sizeof(info->modifierKeycodes)); in DarwinBuildModifierMaps()
227 k = info->keyMap + i * GLYPHS_PER_KEY; in DarwinBuildModifierMaps()
231 info->modifierKeycodes[NX_MODIFIERKEY_SHIFT][0] = i; in DarwinBuildModifierMaps()
232 info->modMap[MIN_KEYCODE + i] = ShiftMask; in DarwinBuildModifierMaps()
237 info->modifierKeycodes[NX_MODIFIERKEY_RSHIFT][0] = i; in DarwinBuildModifierMaps()
239 info->modifierKeycodes[NX_MODIFIERKEY_SHIFT][0] = i; in DarwinBuildModifierMaps()
241 info->modMap[MIN_KEYCODE + i] = ShiftMask; in DarwinBuildModifierMaps()
245 info->modifierKeycodes[NX_MODIFIERKEY_CONTROL][0] = i; in DarwinBuildModifierMaps()
246 info->modMap[MIN_KEYCODE + i] = ControlMask; in DarwinBuildModifierMaps()
251 info->modifierKeycodes[NX_MODIFIERKEY_RCONTROL][0] = i; in DarwinBuildModifierMaps()
253 info->modifierKeycodes[NX_MODIFIERKEY_CONTROL][0] = i; in DarwinBuildModifierMaps()
255 info->modMap[MIN_KEYCODE + i] = ControlMask; in DarwinBuildModifierMaps()
259 info->modifierKeycodes[NX_MODIFIERKEY_ALPHALOCK][0] = i; in DarwinBuildModifierMaps()
260 info->modMap[MIN_KEYCODE + i] = LockMask; in DarwinBuildModifierMaps()
264 info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i; in DarwinBuildModifierMaps()
265 info->modMap[MIN_KEYCODE + i] = Mod1Mask; in DarwinBuildModifierMaps()
272 info->modifierKeycodes[NX_MODIFIERKEY_RALTERNATE][0] = i; in DarwinBuildModifierMaps()
274 info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i; in DarwinBuildModifierMaps()
278 info->modMap[MIN_KEYCODE + i] = Mod1Mask; in DarwinBuildModifierMaps()
284 info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i; in DarwinBuildModifierMaps()
286 info->modifierKeycodes[NX_MODIFIERKEY_RALTERNATE][0] = i; in DarwinBuildModifierMaps()
288 info->modMap[MIN_KEYCODE + i] = Mod1Mask; in DarwinBuildModifierMaps()
292 info->modifierKeycodes[NX_MODIFIERKEY_COMMAND][0] = i; in DarwinBuildModifierMaps()
293 info->modMap[MIN_KEYCODE + i] = Mod2Mask; in DarwinBuildModifierMaps()
298 info->modifierKeycodes[NX_MODIFIERKEY_RCOMMAND][0] = i; in DarwinBuildModifierMaps()
300 info->modifierKeycodes[NX_MODIFIERKEY_COMMAND][0] = i; in DarwinBuildModifierMaps()
302 info->modMap[MIN_KEYCODE + i] = Mod2Mask; in DarwinBuildModifierMaps()
306 info->modMap[MIN_KEYCODE + i] = Mod3Mask; in DarwinBuildModifierMaps()
342 XkbSetRepeatKeys(pDev, -1, AutoRepeatModeOff); in DarwinKeyboardSetRepeat()
350 XkbSetRepeatKeys(pDev, -1, AutoRepeatModeOn); in DarwinKeyboardSetRepeat()
353 ctrl = pDev->key->xkbInfo->desc->ctrls; in DarwinKeyboardSetRepeat()
356 ctrl->repeat_delay = initialKeyRepeatValue * 15; in DarwinKeyboardSetRepeat()
357 ctrl->repeat_interval = keyRepeatValue * 15; in DarwinKeyboardSetRepeat()
359 /* Turn off key-repeat for modifier keys, on for others */ in DarwinKeyboardSetRepeat()
362 ctrl->per_key_repeat[i] = -1; in DarwinKeyboardSetRepeat()
370 ClearBit(ctrl->per_key_repeat, keycode + MIN_KEYCODE); in DarwinKeyboardSetRepeat()
374 ClearBit(ctrl->per_key_repeat, keycode + MIN_KEYCODE); in DarwinKeyboardSetRepeat()
378 if (pDev->kbdfeed) in DarwinKeyboardSetRepeat()
379 memcpy(pDev->kbdfeed->ctrl.autoRepeats, ctrl->per_key_repeat, in DarwinKeyboardSetRepeat()
384 // ErrorF("%02x%s", ctrl->per_key_repeat[i], (i + 1) & 7 ? "" : "\n"); in DarwinKeyboardSetRepeat()
425 keySyms.map = keyInfo.keyMap; in DarwinKeyboardReloadHandler()
433 keySyms.maxKeyCode - keySyms.minKeyCode + 1, in DarwinKeyboardReloadHandler()
439 for (pDev = inputInfo.devices; pDev; pDev = pDev->next) { in DarwinKeyboardReloadHandler()
440 if ((pDev->coreEvents || in DarwinKeyboardReloadHandler()
441 pDev == inputInfo.keyboard) && pDev->key) { in DarwinKeyboardReloadHandler()
444 keySyms.maxKeyCode - in DarwinKeyboardReloadHandler()
488 //-----------------------------------------------------------------------------
492 // keycode - specifies hardware key, read from keymapping
493 // key - NX_MODIFIERKEY_*, really an index
494 // mask - NX_*MASK, mask for modifier flags in event record
496 //-----------------------------------------------------------------------------
517 * Returns -1 if keycode+side is not a modifier key
537 return -1; in DarwinModifierNXKeycodeToNXKey()
546 * Returns -1 if mask is not a known modifier mask.
608 return -1; in DarwinModifierNXMaskToNXKey()
729 if (!strcasecmp(str, "fn")) return NX_SECONDARYFNMASK; in DarwinModifierStringToNXMask()
782 /* This is an ugly ant-pattern, but it is more expedient to address the problem right now. */ in QuartzReadSystemKeymap()
799 /* KeyTranslate is not available on 64-bit platforms; UCKeyTranslate in QuartzReadSystemKeymap()
808 k = info->keyMap + i * GLYPHS_PER_KEY; in QuartzReadSystemKeymap()
831 * 0x0000 - <rdar://problem/7793566> 'Unicode Hex Input' ... in QuartzReadSystemKeymap()
849 k = info->keyMap + known_keys[i].keycode * GLYPHS_PER_KEY; in QuartzReadSystemKeymap()
861 k = info->keyMap + known_numeric_keys[i].keycode * GLYPHS_PER_KEY; in QuartzReadSystemKeymap()
870 k = info->keyMap + keycode_blacklist[i] * GLYPHS_PER_KEY; in QuartzReadSystemKeymap()
886 memset(keyInfo.keyMap, 0, sizeof(keyInfo.keyMap)); in QuartsResyncKeymap()