Lines Matching defs:arrow
981 * Initialize the arrow key bindings from termcap
986 funckey_t *arrow = el->el_terminal.t_fkey;
988 arrow[A_K_DN].name = L"down";
989 arrow[A_K_DN].key = T_kd;
990 arrow[A_K_DN].fun.cmd = ED_NEXT_HISTORY;
991 arrow[A_K_DN].type = XK_CMD;
993 arrow[A_K_UP].name = L"up";
994 arrow[A_K_UP].key = T_ku;
995 arrow[A_K_UP].fun.cmd = ED_PREV_HISTORY;
996 arrow[A_K_UP].type = XK_CMD;
998 arrow[A_K_LT].name = L"left";
999 arrow[A_K_LT].key = T_kl;
1000 arrow[A_K_LT].fun.cmd = ED_PREV_CHAR;
1001 arrow[A_K_LT].type = XK_CMD;
1003 arrow[A_K_RT].name = L"right";
1004 arrow[A_K_RT].key = T_kr;
1005 arrow[A_K_RT].fun.cmd = ED_NEXT_CHAR;
1006 arrow[A_K_RT].type = XK_CMD;
1008 arrow[A_K_HO].name = L"home";
1009 arrow[A_K_HO].key = T_kh;
1010 arrow[A_K_HO].fun.cmd = ED_MOVE_TO_BEG;
1011 arrow[A_K_HO].type = XK_CMD;
1013 arrow[A_K_EN].name = L"end";
1014 arrow[A_K_EN].key = T_at7;
1015 arrow[A_K_EN].fun.cmd = ED_MOVE_TO_END;
1016 arrow[A_K_EN].type = XK_CMD;
1018 arrow[A_K_DE].name = L"delete";
1019 arrow[A_K_DE].key = T_kD;
1020 arrow[A_K_DE].fun.cmd = ED_DELETE_NEXT_CHAR;
1021 arrow[A_K_DE].type = XK_CMD;
1026 * Reset arrow key bindings
1031 funckey_t *arrow = el->el_terminal.t_fkey;
1045 keymacro_add(el, strA, &arrow[A_K_UP].fun, arrow[A_K_UP].type);
1046 keymacro_add(el, strB, &arrow[A_K_DN].fun, arrow[A_K_DN].type);
1047 keymacro_add(el, strC, &arrow[A_K_RT].fun, arrow[A_K_RT].type);
1048 keymacro_add(el, strD, &arrow[A_K_LT].fun, arrow[A_K_LT].type);
1049 keymacro_add(el, strH, &arrow[A_K_HO].fun, arrow[A_K_HO].type);
1050 keymacro_add(el, strF, &arrow[A_K_EN].fun, arrow[A_K_EN].type);
1051 keymacro_add(el, stOA, &arrow[A_K_UP].fun, arrow[A_K_UP].type);
1052 keymacro_add(el, stOB, &arrow[A_K_DN].fun, arrow[A_K_DN].type);
1053 keymacro_add(el, stOC, &arrow[A_K_RT].fun, arrow[A_K_RT].type);
1054 keymacro_add(el, stOD, &arrow[A_K_LT].fun, arrow[A_K_LT].type);
1055 keymacro_add(el, stOH, &arrow[A_K_HO].fun, arrow[A_K_HO].type);
1056 keymacro_add(el, stOF, &arrow[A_K_EN].fun, arrow[A_K_EN].type);
1060 keymacro_add(el, &strA[1], &arrow[A_K_UP].fun, arrow[A_K_UP].type);
1061 keymacro_add(el, &strB[1], &arrow[A_K_DN].fun, arrow[A_K_DN].type);
1062 keymacro_add(el, &strC[1], &arrow[A_K_RT].fun, arrow[A_K_RT].type);
1063 keymacro_add(el, &strD[1], &arrow[A_K_LT].fun, arrow[A_K_LT].type);
1064 keymacro_add(el, &strH[1], &arrow[A_K_HO].fun, arrow[A_K_HO].type);
1065 keymacro_add(el, &strF[1], &arrow[A_K_EN].fun, arrow[A_K_EN].type);
1066 keymacro_add(el, &stOA[1], &arrow[A_K_UP].fun, arrow[A_K_UP].type);
1067 keymacro_add(el, &stOB[1], &arrow[A_K_DN].fun, arrow[A_K_DN].type);
1068 keymacro_add(el, &stOC[1], &arrow[A_K_RT].fun, arrow[A_K_RT].type);
1069 keymacro_add(el, &stOD[1], &arrow[A_K_LT].fun, arrow[A_K_LT].type);
1070 keymacro_add(el, &stOH[1], &arrow[A_K_HO].fun, arrow[A_K_HO].type);
1071 keymacro_add(el, &stOF[1], &arrow[A_K_EN].fun, arrow[A_K_EN].type);
1076 * Set an arrow key binding
1082 funckey_t *arrow = el->el_terminal.t_fkey;
1086 if (wcscmp(name, arrow[i].name) == 0) {
1087 arrow[i].fun = *fun;
1088 arrow[i].type = type;
1096 * Clear an arrow key binding
1101 funckey_t *arrow = el->el_terminal.t_fkey;
1105 if (wcscmp(name, arrow[i].name) == 0) {
1106 arrow[i].type = XK_NOD;
1114 * Print the arrow key bindings
1120 funckey_t *arrow = el->el_terminal.t_fkey;
1123 if (*name == '\0' || wcscmp(name, arrow[i].name) == 0)
1124 if (arrow[i].type != XK_NOD)
1125 keymacro_kprint(el, arrow[i].name,
1126 &arrow[i].fun, arrow[i].type);
1131 * Bind the arrow keys
1140 funckey_t *arrow = el->el_terminal.t_fkey;
1156 p = el->el_terminal.t_str[arrow[i].key];
1166 * Assign the arrow keys only if:
1168 * 1. They are multi-character arrow keys and the user
1172 * 2. They are single arrow keys pointing to an
1175 if (arrow[i].type == XK_NOD)
1180 keymacro_add(el, px, &arrow[i].fun,
1181 arrow[i].type);
1185 if (arrow[i].type == XK_CMD)
1186 map[j] = arrow[i].fun.cmd;
1188 keymacro_add(el, px, &arrow[i].fun,
1189 arrow[i].type);