Lines Matching refs:kd
251 IsControlInput(KEY_DATA * kd)
253 return ((kd->keysym) >= 0x40 && (kd->keysym) <= 0x7f);
257 IsControlOutput(KEY_DATA * kd)
259 return IS_CTRL(kd->keysym);
294 IsControlAlias(KEY_DATA * kd)
298 if (kd->nbytes == 1) {
299 result = IS_CTRL(CharOf(kd->strbuf[0]));
321 allowModifierParm(XtermWidget xw, KEY_DATA * kd)
336 if (IsCursorKey(kd->keysym) || IsEditFunctionKey(xw, kd->keysym)) {
338 } else if (IsKeypadKey(kd->keysym)) {
340 } else if (IsFunctionKey(kd->keysym)) {
342 } else if (IsMiscFunctionKey(kd->keysym)) {
442 filterAltMeta(unsigned result, unsigned mask, Bool enable, KEY_DATA * kd)
463 if ((IsControlInput(kd)
464 || IsControlOutput(kd))
468 if (kd->keysym == XK_Return || kd->keysym == XK_Tab) {
482 allowedCharModifiers(XtermWidget xw, unsigned state, KEY_DATA * kd)
501 if (IsControlInput(kd)
507 } else if (kd->keysym == XK_Tab || kd->keysym == XK_Return) {
509 } else if (IsControlAlias(kd)) {
514 } else if (!IsControlOutput(kd) && !IsPredefinedKey(kd->keysym)) {
523 TScreenOf(xw)->meta_sends_esc, kd);
527 TScreenOf(xw)->alt_sends_esc, kd);
534 state, ARG_MODIFIER_NAMES(state), kd->keysym,
546 KEY_DATA * kd,
555 if (kd->is_fkey
556 || IsEditFunctionKey(xw, kd->keysym)
557 || IsKeypadKey(kd->keysym)
558 || IsCursorKey(kd->keysym)
559 || IsPFKey(kd->keysym)
560 || IsMiscFunctionKey(kd->keysym)
561 || IsPrivateKeypadKey(kd->keysym)) {
564 if (IsBackarrowToggle(keyboard, kd->keysym, state)) {
565 kd->keysym = XK_Delete;
568 if (!IsPredefinedKey(kd->keysym)) {
569 state = allowedCharModifiers(xw, state, kd);
576 switch (kd->keysym) {
592 if (IsControlInput(kd)) {
598 } else if (IsControlAlias(kd)) {
611 switch (kd->keysym) {
632 if (IsControlInput(kd)) {
634 } else if (state == ShiftMask && kd->keysym == ' ') {
810 lookupKeyData(KEY_DATA * kd, XtermWidget xw, XKeyEvent *event)
824 kd->keysym = 0;
825 kd->is_fkey = False;
828 kd->keysym = (KeySym) screen->tc_query_code;
829 kd->is_fkey = screen->tc_query_fkey;
830 if (kd->keysym != XK_BackSpace) {
831 kd->nbytes = 0;
832 kd->strbuf[0] = 0;
834 kd->nbytes = 1;
835 kd->strbuf[0] = 8;
846 kd->nbytes = Xutf8LookupString(input->xic, event,
847 kd->strbuf, (int) sizeof(kd->strbuf),
848 &(kd->keysym), &status_return);
852 kd->nbytes = XmbLookupString(input->xic, event,
853 kd->strbuf, (int) sizeof(kd->strbuf),
854 &(kd->keysym), &status_return);
861 && kd->nbytes <= 1
862 && !IsPredefinedKey(kd->keysym)
864 && !IsControlInput(kd)) {
865 kd->nbytes = 1;
866 kd->strbuf[0] = (char) kd->keysym;
874 kd->nbytes = XLookupString(event,
875 kd->strbuf, (int) sizeof(kd->strbuf),
876 &(kd->keysym), &compose_status);
878 kd->is_fkey = IsFunctionKey(kd->keysym);
901 KEY_DATA kd;
907 lookupKeyData(&kd, xw, event);
915 kd.keysym,
916 kd.nbytes,
917 visibleChars((Char *) kd.strbuf,
918 ((kd.nbytes > 0)
919 ? (unsigned) kd.nbytes
923 IsKeypadKey(kd.keysym) ? " KeypadKey" : "",
924 IsCursorKey(kd.keysym) ? " CursorKey" : "",
925 IsPFKey(kd.keysym) ? " PFKey" : "",
926 kd.is_fkey ? " FKey" : "",
927 IsMiscFunctionKey(kd.keysym) ? " MiscFKey" : "",
928 IsEditFunctionKey(xw, kd.keysym) ? " EditFkey" : ""));
938 if (kd.keysym == XK_KP_Add) {
939 kd.keysym = XK_KP_Separator;
944 kd.keysym));
947 && kd.keysym == XK_KP_Separator) {
948 kd.keysym = XK_KP_Subtract;
953 kd.keysym));
971 if (kd.nbytes == 1
972 && IsKeypadKey(kd.keysym)
982 && allowModifierParm(xw, &kd)) {
993 if (IsTabKey(kd.keysym) && kd.nbytes == 0) {
994 kd.nbytes = 1;
995 kd.strbuf[0] = '\t';
999 else if (IsTabKey(kd.keysym) && kd.nbytes <= 1) {
1000 if (allowModifierParm(xw, &kd)) {
1002 kd.keysym = XK_ISO_Left_Tab;
1005 kd.keysym = XK_ISO_Left_Tab;
1012 if ((kd.nbytes == 1)
1013 && IsBackarrowToggle(keyboard, kd.keysym, evt_state)) {
1014 kd.strbuf[0] = ANSI_DEL;
1015 TRACE(("...Input backarrow changed to %d\n", kd.strbuf[0]));
1020 && (kd.keysym != XK_Delete || !xtermDeleteIsDEL(xw)))
1021 kd.keysym = TranslateFromSUNPC(kd.keysym);
1026 if (kd.keysym >= XK_KP_Home && kd.keysym <= XK_KP_Begin) {
1027 TRACE(("...Input keypad before was " KEYSYM_FMT "\n", kd.keysym));
1028 kd.keysym += (KeySym) (XK_Home - XK_KP_Home);
1029 TRACE(("...Input keypad changed to " KEYSYM_FMT "\n", kd.keysym));
1038 if (!kd.is_fkey) {
1039 if (kd.keysym == SunXK_F36) {
1040 kd.keysym = XK_Fn(36);
1041 kd.is_fkey = True;
1043 if (kd.keysym == SunXK_F37) {
1044 kd.keysym = XK_Fn(37);
1045 kd.is_fkey = True;
1065 && kd.is_fkey) {
1071 TRACE(("...map XK_F%ld", kd.keysym - XK_Fn(1) + 1));
1073 kd.keysym += (KeySym) xw->misc.ctrl_fkeys;
1076 TRACE((" to XK_F%ld\n", kd.keysym - XK_Fn(1) + 1));
1082 TRACE(("...map XK_F%ld", kd.keysym - XK_Fn(1) + 1));
1084 kd.keysym += (KeySym) (xw->misc.ctrl_fkeys * 1);
1088 kd.keysym += (KeySym) (xw->misc.ctrl_fkeys * 2);
1091 TRACE((" to XK_F%ld\n", kd.keysym - XK_Fn(1) + 1));
1109 hpfuncvalue(&reply, &kd);
1112 scofuncvalue(&reply, &kd);
1115 sunfuncvalue(&reply, &kd);
1119 if (xtermcapString(xw, (int) kd.keysym, evt_state))
1135 ((kd.is_fkey
1136 || IsMiscFunctionKey(kd.keysym)
1137 || IsEditFunctionKey(xw, kd.keysym))
1143 } else if (((kd.is_fkey
1144 || IsMiscFunctionKey(kd.keysym)
1145 || IsEditFunctionKey(xw, kd.keysym))
1147 && !ModifyOtherKeys(xw, evt_state, &kd, modify_parm)
1149 ) || (kd.keysym == XK_Delete
1152 dec_code = decfuncvalue(&kd);
1157 && ((string = (Char *) udk_lookup(xw, dec_code, &kd.nbytes)) != NULL)) {
1159 while (kd.nbytes-- > 0)
1180 if (kd.keysym == XK_ISO_Left_Tab) {
1193 if (kd.is_fkey) {
1207 } else if (IsPFKey(kd.keysym)) {
1209 reply.a_final = (Char) ((kd.keysym - XK_KP_F1) + 'P');
1214 } else if (IsKeypadKey(kd.keysym)) {
1217 reply.a_final = (Char) (kypd_apl[kd.keysym - XK_KP_Space]);
1222 unparseputc(xw, kypd_num[kd.keysym - XK_KP_Space]);
1225 } else if (IsCursorKey(kd.keysym)) {
1232 reply.a_final = (Char) (curfinal[kd.keysym - XK_Home]);
1237 } else if (kd.nbytes > 0) {
1241 TekEnqMouse(tekWidget, kd.strbuf[0]);
1243 kd.nbytes--;
1244 for (j = 0; j < kd.nbytes; ++j) {
1245 kd.strbuf[j] = kd.strbuf[j + 1];
1251 && ModifyOtherKeys(xw, evt_state, &kd, modify_parm)
1252 && (mod_state = allowedCharModifiers(xw, evt_state, &kd)) != 0) {
1266 input_char = ((kd.keysym < 256)
1267 ? (int) kd.keysym
1268 : ((kd.nbytes == 1)
1269 ? CharOf(kd.strbuf[0])
1289 if (kd.nbytes != 0) {
1326 if (eightbit && (kd.nbytes == 1) && screen->input_eight_bits) {
1327 IChar ch = CharOf(kd.strbuf[0]);
1329 kd.strbuf[0] |= (char) 0x80;
1331 ch, CharOf(kd.strbuf[0]),
1332 ch, CharOf(kd.strbuf[0])));
1340 ch = CharOf(kd.strbuf[0]);
1341 kd.nbytes = 2;
1342 kd.strbuf[0] = (char) (0xc0 | ((ch >> 6) & 0x3));
1343 kd.strbuf[1] = (char) (0x80 | (ch & 0x3f));
1345 ch, CharOf(kd.strbuf[0]), CharOf(kd.strbuf[1])));
1352 if (kd.nbytes == 1) /* cannot do NRC on UTF-8, for instance */
1358 CharOf(kd.strbuf[0]),
1362 CharOf(kd.strbuf[0]),
1363 (CharOf(kd.strbuf[0]) == cmp)
1367 kd.strbuf[0] = (char) cmp;
1370 } else if (kd.strbuf[0] == '?'
1372 kd.strbuf[0] = ANSI_DEL;
1377 for (j = 0; j < kd.nbytes; ++j)
1378 unparseputc(xw, CharOf(kd.strbuf[j]));
1380 key = ((kd.keysym != ANSI_XOFF) && (kd.keysym != ANSI_XON));
1413 decfuncvalue(KEY_DATA * kd)
1417 if (kd->is_fkey) {
1418 switch (kd->keysym) {
1443 result = 42 + (int) (kd->keysym - XK_Fn(21));
1447 switch (kd->keysym) {
1472 hpfuncvalue(ANSI *reply, KEY_DATA * kd)
1477 if (kd->is_fkey) {
1478 switch (kd->keysym) {
1492 switch (kd->keysym) {
1524 (void) kd;
1529 scofuncvalue(ANSI *reply, KEY_DATA * kd)
1534 if (kd->is_fkey) {
1535 switch (kd->keysym) {
1589 switch (kd->keysym) {
1614 (void) kd;
1619 sunfuncvalue(ANSI *reply, KEY_DATA * kd)
1624 if (kd->is_fkey) {
1625 switch (kd->keysym) {
1673 switch (kd->keysym) {
1705 } else if (IsCursorKey(kd->keysym)) {
1707 reply->a_final = (Char) curfinal[kd->keysym - XK_Home];
1711 (void) kd;