Lines Matching refs:key

118 	uchar_t	key_station;	/* Physical key station associated with event */
145 * Table of key stations currently down
152 ushort_t compose_key; /* first compose key */
751 * Since this only affects any subsequent key presses,
773 * Since this only affects any subsequent key presses,
989 if (kbd_input_debug) printf("KBD USE key=%d\n", keycode);
1128 kbdsetkey(register struct kbddata *kbdd, struct kiockey *key, cred_t *cr)
1135 if (key->kio_station >= KEYMAP_SIZE)
1139 tablemask = key->kio_tablemask;
1143 kbdd->kbdd_state.k_curkeyboard->k_abort1 = key->kio_station;
1149 kbdd->kbdd_state.k_curkeyboard->k_abort2 = key->kio_station;
1155 if (key->kio_entry >= (uchar_t)OLD_STRING &&
1156 key->kio_entry <= (uchar_t)(OLD_STRING + 15)) {
1157 strtabindex = key->kio_entry - OLD_STRING;
1159 keystringtab[strtabindex][i] = key->kio_string[i];
1162 entry = key->kio_entry;
1176 km->keymap[key->kio_station] = entry;
1198 kbdgetkey(register struct kbddata *kbdd, struct kiockey *key)
1204 if (key->kio_station >= KEYMAP_SIZE)
1208 if (key->kio_tablemask == KIOCABORT1) {
1209 key->kio_station = kbdd->kbdd_state.k_curkeyboard->k_abort1;
1212 if (key->kio_tablemask == KIOCABORT2) {
1213 key->kio_station = kbdd->kbdd_state.k_curkeyboard->k_abort2;
1216 if ((km = settable(kbdd, (uint_t)key->kio_tablemask)) == NULL)
1218 entry = km->keymap[key->kio_station];
1220 key->kio_entry =
1225 key->kio_entry = (ushort_t)OLD_ISOCHAR; /* you lose */
1227 key->kio_entry = (ushort_t)entry;
1232 key->kio_string[i] = keystringtab[strtabindex][i];
1242 kbdskey(register struct kbddata *kbdd, struct kiockeymap *key, cred_t *cr)
1247 if (key->kio_station >= KEYMAP_SIZE)
1251 if (key->kio_tablemask == KIOCABORT1) {
1254 kbdd->kbdd_state.k_curkeyboard->k_abort1 = key->kio_station;
1257 if (key->kio_tablemask == KIOCABORT2) {
1260 kbdd->kbdd_state.k_curkeyboard->k_abort2 = key->kio_station;
1263 if ((km = settable(kbdd, (uint_t)key->kio_tablemask)) == NULL)
1265 if (key->kio_entry >= STRING &&
1266 key->kio_entry <= (ushort_t)(STRING + 15)) {
1267 strtabindex = key->kio_entry-STRING;
1269 keystringtab[strtabindex][i] = key->kio_string[i];
1272 km->keymap[key->kio_station] = key->kio_entry;
1280 kbdgkey(register struct kbddata *kbdd, struct kiockeymap *key)
1285 if (key->kio_station >= KEYMAP_SIZE)
1289 if (key->kio_tablemask == KIOCABORT1) {
1290 key->kio_station = kbdd->kbdd_state.k_curkeyboard->k_abort1;
1293 if (key->kio_tablemask == KIOCABORT2) {
1294 key->kio_station = kbdd->kbdd_state.k_curkeyboard->k_abort2;
1297 if ((km = settable(kbdd, (uint_t)key->kio_tablemask)) == NULL)
1299 key->kio_entry = km->keymap[key->kio_station];
1300 if (key->kio_entry >= STRING &&
1301 key->kio_entry <= (ushort_t)(STRING + 15)) {
1302 strtabindex = key->kio_entry-STRING;
1304 key->kio_string[i] = keystringtab[strtabindex][i];
1420 kbdinput(register struct kbddata *kbdd, register unsigned key)
1428 printf("kbdinput key %x\n", key);
1434 if (key == RESETKEY) {
1443 kbdid(kbdd, (int)key);
1492 switch (key) {
1529 key = BUILDKEY(key, PRESSED);
1535 key = BUILDKEY(key, RELEASED);
1546 *(int *)mp->b_cont->b_wptr = key;
1564 if (key == k->k_curkeyboard->k_abort1) {
1568 if ((key == k->k_curkeyboard->k_newabort1) ||
1569 (key == k->k_curkeyboard->k_newabort1a)) {
1571 kbdd->shiftkey = key;
1575 kbduse(kbdd, key);
1585 if (key == k->k_curkeyboard->k_abort2 &&
1604 if (key == k->k_curkeyboard->k_newabort2 &&
1623 if (key != IDLEKEY)
1624 kbduse(kbdd, key);
1704 printf("kbdrpt key %x\n", k->k_rptkey);
1734 register uchar_t key;
1748 key = KEYOF(keycode);
1752 printf("KBD TRANSLATE keycode=0x%x newstate=0x%x key=0x%x\n",
1753 keycode, newstate, key);
1760 fe.id = key;
1762 kbdqueuepress(kbdd, key, &fe);
1764 kbdkeyreleased(kbdd, key);
1779 if (key >= KEYMAP_SIZE)
1781 entry = km->keymap[key];
1786 * this key is not affected by Num Lock. This means we should
1795 entry = km->keymap[key];
1814 * Handle Compose and floating accent key sequences
1881 /* Invalid second key: ignore key */
1897 * If the key is going down, and it's not one of the keys that doesn't
1900 * The keys that don't auto-repeat are the Compose key,
1915 } else if (key == KEYOF(k->k_rptkey)) /* key going up */
1918 kbdkeyreleased(kbdd, key);
1927 case 0x0: /* regular key */
1933 kbdkeypressed(kbdd, key, &fe, entry);
1982 kbdkeypressed(kbdd, key, &fe, fe.id);
1998 kbdkeypressed(kbdd, key, &fe, fe.id);
2095 kbdkeypressed(kbdd, key, &fe, fe.id);
2097 * Function key events can be expanded
2101 * if a function key event is not used
2137 kbdkeypressed(kbdd, key, &fe, fe.id);
2139 * Keypad key events can be expanded
2143 * if a keypad key event is not used
2269 if (kbd_input_debug) printf("KBD PRESSED key=%d\n", key_station);
2272 /* Scan table of down key stations */
2311 printf("KBD RELEASE key=%d\n", key_station);
2316 /* Scan table of down key stations */
2330 * for the same key station in the case of the kbdrpt
2344 /* Scan table of down key stations */