Lines Matching defs:arrow
1000 * Initialize the arrow key bindings from termcap
1005 funckey_t *arrow = el->el_terminal.t_fkey;
1007 arrow[A_K_DN].name = STR("down");
1008 arrow[A_K_DN].key = T_kd;
1009 arrow[A_K_DN].fun.cmd = ED_NEXT_HISTORY;
1010 arrow[A_K_DN].type = XK_CMD;
1012 arrow[A_K_UP].name = STR("up");
1013 arrow[A_K_UP].key = T_ku;
1014 arrow[A_K_UP].fun.cmd = ED_PREV_HISTORY;
1015 arrow[A_K_UP].type = XK_CMD;
1017 arrow[A_K_LT].name = STR("left");
1018 arrow[A_K_LT].key = T_kl;
1019 arrow[A_K_LT].fun.cmd = ED_PREV_CHAR;
1020 arrow[A_K_LT].type = XK_CMD;
1022 arrow[A_K_RT].name = STR("right");
1023 arrow[A_K_RT].key = T_kr;
1024 arrow[A_K_RT].fun.cmd = ED_NEXT_CHAR;
1025 arrow[A_K_RT].type = XK_CMD;
1027 arrow[A_K_HO].name = STR("home");
1028 arrow[A_K_HO].key = T_kh;
1029 arrow[A_K_HO].fun.cmd = ED_MOVE_TO_BEG;
1030 arrow[A_K_HO].type = XK_CMD;
1032 arrow[A_K_EN].name = STR("end");
1033 arrow[A_K_EN].key = T_at7;
1034 arrow[A_K_EN].fun.cmd = ED_MOVE_TO_END;
1035 arrow[A_K_EN].type = XK_CMD;
1037 arrow[A_K_DE].name = STR("delete");
1038 arrow[A_K_DE].key = T_kD;
1039 arrow[A_K_DE].fun.cmd = ED_DELETE_NEXT_CHAR;
1040 arrow[A_K_DE].type = XK_CMD;
1045 * Reset arrow key bindings
1050 funckey_t *arrow = el->el_terminal.t_fkey;
1064 keymacro_add(el, strA, &arrow[A_K_UP].fun, arrow[A_K_UP].type);
1065 keymacro_add(el, strB, &arrow[A_K_DN].fun, arrow[A_K_DN].type);
1066 keymacro_add(el, strC, &arrow[A_K_RT].fun, arrow[A_K_RT].type);
1067 keymacro_add(el, strD, &arrow[A_K_LT].fun, arrow[A_K_LT].type);
1068 keymacro_add(el, strH, &arrow[A_K_HO].fun, arrow[A_K_HO].type);
1069 keymacro_add(el, strF, &arrow[A_K_EN].fun, arrow[A_K_EN].type);
1070 keymacro_add(el, stOA, &arrow[A_K_UP].fun, arrow[A_K_UP].type);
1071 keymacro_add(el, stOB, &arrow[A_K_DN].fun, arrow[A_K_DN].type);
1072 keymacro_add(el, stOC, &arrow[A_K_RT].fun, arrow[A_K_RT].type);
1073 keymacro_add(el, stOD, &arrow[A_K_LT].fun, arrow[A_K_LT].type);
1074 keymacro_add(el, stOH, &arrow[A_K_HO].fun, arrow[A_K_HO].type);
1075 keymacro_add(el, stOF, &arrow[A_K_EN].fun, arrow[A_K_EN].type);
1079 keymacro_add(el, &strA[1], &arrow[A_K_UP].fun, arrow[A_K_UP].type);
1080 keymacro_add(el, &strB[1], &arrow[A_K_DN].fun, arrow[A_K_DN].type);
1081 keymacro_add(el, &strC[1], &arrow[A_K_RT].fun, arrow[A_K_RT].type);
1082 keymacro_add(el, &strD[1], &arrow[A_K_LT].fun, arrow[A_K_LT].type);
1083 keymacro_add(el, &strH[1], &arrow[A_K_HO].fun, arrow[A_K_HO].type);
1084 keymacro_add(el, &strF[1], &arrow[A_K_EN].fun, arrow[A_K_EN].type);
1085 keymacro_add(el, &stOA[1], &arrow[A_K_UP].fun, arrow[A_K_UP].type);
1086 keymacro_add(el, &stOB[1], &arrow[A_K_DN].fun, arrow[A_K_DN].type);
1087 keymacro_add(el, &stOC[1], &arrow[A_K_RT].fun, arrow[A_K_RT].type);
1088 keymacro_add(el, &stOD[1], &arrow[A_K_LT].fun, arrow[A_K_LT].type);
1089 keymacro_add(el, &stOH[1], &arrow[A_K_HO].fun, arrow[A_K_HO].type);
1090 keymacro_add(el, &stOF[1], &arrow[A_K_EN].fun, arrow[A_K_EN].type);
1095 * Set an arrow key binding
1101 funckey_t *arrow = el->el_terminal.t_fkey;
1105 if (Strcmp(name, arrow[i].name) == 0) {
1106 arrow[i].fun = *fun;
1107 arrow[i].type = type;
1115 * Clear an arrow key binding
1120 funckey_t *arrow = el->el_terminal.t_fkey;
1124 if (Strcmp(name, arrow[i].name) == 0) {
1125 arrow[i].type = XK_NOD;
1133 * Print the arrow key bindings
1139 funckey_t *arrow = el->el_terminal.t_fkey;
1142 if (*name == '\0' || Strcmp(name, arrow[i].name) == 0)
1143 if (arrow[i].type != XK_NOD)
1144 keymacro_kprint(el, arrow[i].name,
1145 &arrow[i].fun, arrow[i].type);
1150 * Bind the arrow keys
1159 funckey_t *arrow = el->el_terminal.t_fkey;
1175 p = el->el_terminal.t_str[arrow[i].key];
1185 * Assign the arrow keys only if:
1187 * 1. They are multi-character arrow keys and the user
1191 * 2. They are single arrow keys pointing to an
1194 if (arrow[i].type == XK_NOD)
1199 keymacro_add(el, px, &arrow[i].fun,
1200 arrow[i].type);
1204 if (arrow[i].type == XK_CMD)
1205 map[j] = arrow[i].fun.cmd;
1207 keymacro_add(el, px, &arrow[i].fun,
1208 arrow[i].type);