Lines Matching defs:pd

138 #define TRANSLATE(ctx,pd,dpy,key,mod,mod_ret,sym_ret) \
140 int _i_ = (((key) - (TMLongCard) (pd)->min_keycode + modmix[(mod) & 0xff]) & \
159 #define UPDATE_CACHE(ctx, pd, key, mod, mod_ret, sym_ret) \
161 int _i_ = (((key) - (TMLongCard) (pd)->min_keycode + modmix[(mod) & 0xff]) & \
226 _XtAllocTMContext(XtPerDisplay pd)
230 ctx = (TMKeyContext) _XtHeapAlloc(&pd->heap, sizeof(TMKeyContextRec));
236 pd->tm_context = ctx;
261 XtPerDisplay pd;
276 pd = _XtGetPerDisplay(dpy);
277 tm_context = pd->tm_context;
278 TRANSLATE(tm_context, pd, dpy, (KeyCode) eventSeq->event.eventCode,
306 TRANSLATE(tm_context, pd, dpy, eventSeq->event.eventCode,
336 TRANSLATE(tm_context, pd, dpy, eventSeq->event.eventCode,
360 XtPerDisplay pd;
366 pd = _XtGetPerDisplay(dpy);
369 for (ptr = pd->case_cvt; ptr; ptr = ptr->next)
388 XtPerDisplay pd = _XtGetPerDisplay(dpy);
389 TMKeyContext tm_context = pd->tm_context;
405 UPDATE_CACHE(tm_context, pd, eventSeq->event.eventCode,
411 TRANSLATE(tm_context, pd, dpy, (KeyCode) eventSeq->event.eventCode,
440 _XtBuildKeysymTables(Display *dpy, register XtPerDisplay pd)
450 FLUSHKEYCACHE(pd->tm_context);
452 XFree((char *) pd->keysyms);
453 pd->keysyms_serial = NextRequest(dpy);
454 pd->keysyms = XGetKeyboardMapping(dpy, (KeyCode) pd->min_keycode,
455 pd->max_keycode - pd->min_keycode + 1,
456 &pd->keysyms_per_keycode);
457 XtFree((char *) pd->modKeysyms);
459 pd->modKeysyms = XtMallocArray(KeysymTableSize, (Cardinal) sizeof(KeySym));
463 XtFree((char *) pd->modsToKeysyms);
465 pd->modsToKeysyms = table;
479 pd->isModifier[i] = 0;
480 pd->mode_switch = 0;
481 pd->num_lock = 0;
488 pd->isModifier[keycode >> 3] |=
490 for (k = 0; k < pd->keysyms_per_keycode; k++) {
491 idx = ((keycode - pd->min_keycode) *
492 pd->keysyms_per_keycode) + k;
493 keysym = pd->keysyms[idx];
495 pd->mode_switch =
496 (pd->mode_switch | (Modifiers) (1 << i));
498 pd->num_lock = (pd->num_lock | (Modifiers) (1 << i));
502 pd->modKeysyms =
503 XtReallocArray(pd->modKeysyms,
507 pd->modKeysyms[tempCount++] = keysym;
515 pd->lock_meaning = NoSymbol;
517 keysym = pd->modKeysyms[table[1].idx + i];
519 pd->lock_meaning = XK_Caps_Lock;
523 pd->lock_meaning = XK_Shift_Lock;
536 XtPerDisplay pd;
541 pd = _XtGetPerDisplay(dpy);
542 _InitializeKeysymTables(dpy, pd);
543 (*pd->defaultKeycodeTranslator) (dpy, keycode, modifiers, modifiers_return,
557 XtPerDisplay pd;
565 pd = _XtGetPerDisplay(dpy);
566 *modifiers_return = (ShiftMask | LockMask) | pd->mode_switch | pd->num_lock;
567 if (((int) keycode < pd->min_keycode) || ((int) keycode > pd->max_keycode)) {
572 per = pd->keysyms_per_keycode;
573 syms = &pd->keysyms[(keycode - pd->min_keycode) * per];
576 if ((per > 2) && (modifiers & pd->mode_switch)) {
580 if ((modifiers & pd->num_lock) &&
583 ((modifiers & LockMask) && (pd->lock_meaning == XK_Shift_Lock)))
589 (!(modifiers & LockMask) || (pd->lock_meaning == NoSymbol))) {
595 else if (!(modifiers & LockMask) || (pd->lock_meaning != XK_Caps_Lock)) {
622 XtPerDisplay pd;
627 pd = _XtGetPerDisplay(dpy);
629 pd->defaultKeycodeTranslator = translator;
630 FLUSHKEYCACHE(pd->tm_context);
641 XtPerDisplay pd;
647 pd = _XtGetPerDisplay(dpy);
653 ptr->next = pd->case_cvt;
654 pd->case_cvt = ptr;
666 FLUSHKEYCACHE(pd->tm_context);
676 XtPerDisplay pd;
682 pd = _XtGetPerDisplay(dpy);
683 _InitializeKeysymTables(dpy, pd);
684 *min_keycode_return = (KeyCode) pd->min_keycode; /* %%% */
685 *keysyms_per_keycode_return = pd->keysyms_per_keycode;
686 retval = pd->keysyms;
697 XtPerDisplay pd;
710 pd = _XtGetPerDisplay(dpy);
711 _InitializeKeysymTables(dpy, pd);
713 per = pd->keysyms_per_keycode;
714 for (syms = pd->keysyms, keycode = (unsigned) pd->min_keycode;
715 (int) keycode <= pd->max_keycode; syms += per, keycode++) {