Lines Matching full:vc

79 typedef void (k_handler_fn)(struct vc_data *vc, unsigned char value,
91 typedef void (fn_handler_fn)(struct vc_data *vc);
325 static void put_queue(struct vc_data *vc, int ch) in put_queue() argument
327 tty_insert_flip_char(&vc->port, ch, 0); in put_queue()
328 tty_flip_buffer_push(&vc->port); in put_queue()
331 static void puts_queue(struct vc_data *vc, const char *cp) in puts_queue() argument
333 tty_insert_flip_string(&vc->port, cp, strlen(cp)); in puts_queue()
334 tty_flip_buffer_push(&vc->port); in puts_queue()
337 static void applkey(struct vc_data *vc, int key, char mode) in applkey() argument
343 puts_queue(vc, buf); in applkey()
352 static void to_utf8(struct vc_data *vc, uint c) in to_utf8() argument
356 put_queue(vc, c); in to_utf8()
359 put_queue(vc, 0xc0 | (c >> 6)); in to_utf8()
360 put_queue(vc, 0x80 | (c & 0x3f)); in to_utf8()
367 put_queue(vc, 0xe0 | (c >> 12)); in to_utf8()
368 put_queue(vc, 0x80 | ((c >> 6) & 0x3f)); in to_utf8()
369 put_queue(vc, 0x80 | (c & 0x3f)); in to_utf8()
372 put_queue(vc, 0xf0 | (c >> 18)); in to_utf8()
373 put_queue(vc, 0x80 | ((c >> 12) & 0x3f)); in to_utf8()
374 put_queue(vc, 0x80 | ((c >> 6) & 0x3f)); in to_utf8()
375 put_queue(vc, 0x80 | (c & 0x3f)); in to_utf8()
379 static void put_queue_utf8(struct vc_data *vc, u32 value) in put_queue_utf8() argument
382 to_utf8(vc, value); in put_queue_utf8()
386 put_queue(vc, c); in put_queue_utf8()
449 static unsigned int handle_diacr(struct vc_data *vc, unsigned int ch) in handle_diacr() argument
468 put_queue_utf8(vc, d); in handle_diacr()
476 static void fn_enter(struct vc_data *vc) in fn_enter() argument
479 put_queue_utf8(vc, diacr); in fn_enter()
483 put_queue(vc, '\r'); in fn_enter()
485 put_queue(vc, '\n'); in fn_enter()
488 static void fn_caps_toggle(struct vc_data *vc) in fn_caps_toggle() argument
496 static void fn_caps_on(struct vc_data *vc) in fn_caps_on() argument
504 static void fn_show_ptregs(struct vc_data *vc) in fn_show_ptregs() argument
512 static void fn_hold(struct vc_data *vc) in fn_hold() argument
514 struct tty_struct *tty = vc->port.tty; in fn_hold()
530 static void fn_num(struct vc_data *vc) in fn_num() argument
533 applkey(vc, 'P', 1); in fn_num()
535 fn_bare_num(vc); in fn_num()
544 static void fn_bare_num(struct vc_data *vc) in fn_bare_num() argument
550 static void fn_lastcons(struct vc_data *vc) in fn_lastcons() argument
556 static void fn_dec_console(struct vc_data *vc) in fn_dec_console() argument
573 static void fn_inc_console(struct vc_data *vc) in fn_inc_console() argument
590 static void fn_send_intr(struct vc_data *vc) in fn_send_intr() argument
592 tty_insert_flip_char(&vc->port, 0, TTY_BREAK); in fn_send_intr()
593 tty_flip_buffer_push(&vc->port); in fn_send_intr()
596 static void fn_scroll_forw(struct vc_data *vc) in fn_scroll_forw() argument
598 scrollfront(vc, 0); in fn_scroll_forw()
601 static void fn_scroll_back(struct vc_data *vc) in fn_scroll_back() argument
603 scrollback(vc); in fn_scroll_back()
606 static void fn_show_mem(struct vc_data *vc) in fn_show_mem() argument
611 static void fn_show_state(struct vc_data *vc) in fn_show_state() argument
616 static void fn_boot_it(struct vc_data *vc) in fn_boot_it() argument
621 static void fn_compose(struct vc_data *vc) in fn_compose() argument
626 static void fn_spawn_con(struct vc_data *vc) in fn_spawn_con() argument
637 static void fn_SAK(struct vc_data *vc) in fn_SAK() argument
643 static void fn_null(struct vc_data *vc) in fn_null() argument
651 static void k_ignore(struct vc_data *vc, unsigned char value, char up_flag) in k_ignore() argument
655 static void k_spec(struct vc_data *vc, unsigned char value, char up_flag) in k_spec() argument
666 fn_handler[value](vc); in k_spec()
669 static void k_lowercase(struct vc_data *vc, unsigned char value, char up_flag) in k_lowercase() argument
674 static void k_unicode(struct vc_data *vc, unsigned int value, char up_flag) in k_unicode() argument
680 value = handle_diacr(vc, value); in k_unicode()
687 put_queue_utf8(vc, value); in k_unicode()
695 static void k_deadunicode(struct vc_data *vc, unsigned int value, char up_flag) in k_deadunicode() argument
700 diacr = (diacr ? handle_diacr(vc, value) : value); in k_deadunicode()
703 static void k_self(struct vc_data *vc, unsigned char value, char up_flag) in k_self() argument
705 k_unicode(vc, conv_8bit_to_uni(value), up_flag); in k_self()
708 static void k_dead2(struct vc_data *vc, unsigned char value, char up_flag) in k_dead2() argument
710 k_deadunicode(vc, value, up_flag); in k_dead2()
716 static void k_dead(struct vc_data *vc, unsigned char value, char up_flag) in k_dead() argument
748 k_deadunicode(vc, ret_diacr[value], up_flag); in k_dead()
751 static void k_cons(struct vc_data *vc, unsigned char value, char up_flag) in k_cons() argument
759 static void k_fn(struct vc_data *vc, unsigned char value, char up_flag) in k_fn() argument
769 puts_queue(vc, func_table[value]); in k_fn()
776 static void k_cur(struct vc_data *vc, unsigned char value, char up_flag) in k_cur() argument
783 applkey(vc, cur_chars[value], vc_kbd_mode(kbd, VC_CKMODE)); in k_cur()
786 static void k_pad(struct vc_data *vc, unsigned char value, char up_flag) in k_pad() argument
796 applkey(vc, app_map[value], 1); in k_pad()
805 k_fn(vc, KVAL(K_REMOVE), 0); in k_pad()
808 k_fn(vc, KVAL(K_INSERT), 0); in k_pad()
811 k_fn(vc, KVAL(K_SELECT), 0); in k_pad()
814 k_cur(vc, KVAL(K_DOWN), 0); in k_pad()
817 k_fn(vc, KVAL(K_PGDN), 0); in k_pad()
820 k_cur(vc, KVAL(K_LEFT), 0); in k_pad()
823 k_cur(vc, KVAL(K_RIGHT), 0); in k_pad()
826 k_fn(vc, KVAL(K_FIND), 0); in k_pad()
829 k_cur(vc, KVAL(K_UP), 0); in k_pad()
832 k_fn(vc, KVAL(K_PGUP), 0); in k_pad()
835 applkey(vc, 'G', vc_kbd_mode(kbd, VC_APPLIC)); in k_pad()
840 put_queue(vc, pad_chars[value]); in k_pad()
842 put_queue(vc, '\n'); in k_pad()
845 static void k_shift(struct vc_data *vc, unsigned char value, char up_flag) in k_shift() argument
879 to_utf8(vc, npadch_value); in k_shift()
881 put_queue(vc, npadch_value & 0xff); in k_shift()
886 static void k_meta(struct vc_data *vc, unsigned char value, char up_flag) in k_meta() argument
892 put_queue(vc, '\033'); in k_meta()
893 put_queue(vc, value); in k_meta()
895 put_queue(vc, value | BIT(7)); in k_meta()
898 static void k_ascii(struct vc_data *vc, unsigned char value, char up_flag) in k_ascii() argument
922 static void k_lock(struct vc_data *vc, unsigned char value, char up_flag) in k_lock() argument
930 static void k_slock(struct vc_data *vc, unsigned char value, char up_flag) in k_slock() argument
932 k_shift(vc, value, up_flag); in k_slock()
953 static void k_brlcommit(struct vc_data *vc, unsigned int pattern, char up_flag) in k_brlcommit() argument
959 k_deadunicode(vc, BRL_UC_ROW | pattern, up_flag); in k_brlcommit()
964 k_unicode(vc, BRL_UC_ROW | committed, up_flag); in k_brlcommit()
971 static void k_brl(struct vc_data *vc, unsigned char value, char up_flag) in k_brl() argument
983 k_unicode(vc, BRL_UC_ROW, up_flag); in k_brl()
1003 k_brlcommit(vc, committing, 0); in k_brl()
1008 k_brlcommit(vc, committing, 0); in k_brl()
1303 static int emulate_raw(struct vc_data *vc, unsigned int keycode, in emulate_raw() argument
1311 put_queue(vc, 0xe1); in emulate_raw()
1312 put_queue(vc, 0x1d | up_flag); in emulate_raw()
1313 put_queue(vc, 0x45 | up_flag); in emulate_raw()
1318 put_queue(vc, 0xf2); in emulate_raw()
1323 put_queue(vc, 0xf1); in emulate_raw()
1335 put_queue(vc, 0x54 | up_flag); in emulate_raw()
1337 put_queue(vc, 0xe0); in emulate_raw()
1338 put_queue(vc, 0x2a | up_flag); in emulate_raw()
1339 put_queue(vc, 0xe0); in emulate_raw()
1340 put_queue(vc, 0x37 | up_flag); in emulate_raw()
1353 put_queue(vc, 0xe0); in emulate_raw()
1354 put_queue(vc, (code & 0x7f) | up_flag); in emulate_raw()
1369 static int emulate_raw(struct vc_data *vc, unsigned int keycode, unsigned char up_flag) in emulate_raw() argument
1374 put_queue(vc, keycode | up_flag); in emulate_raw()
1381 struct vc_data *vc = vc_cons[fg_console].d; in kbd_rawcode() local
1383 kbd = &kbd_table[vc->vc_num]; in kbd_rawcode()
1385 put_queue(vc, data); in kbd_rawcode()
1390 struct vc_data *vc = vc_cons[fg_console].d; in kbd_keycode() local
1396 struct keyboard_notifier_param param = { .vc = vc, .value = keycode, .down = down }; in kbd_keycode()
1399 tty = vc->port.tty; in kbd_keycode()
1403 tty->driver_data = vc; in kbd_keycode()
1406 kbd = &kbd_table[vc->vc_num]; in kbd_keycode()
1417 if (emulate_raw(vc, keycode, !down << 7)) in kbd_keycode()
1440 put_queue(vc, keycode | (!down << 7)); in kbd_keycode()
1442 put_queue(vc, !down << 7); in kbd_keycode()
1443 put_queue(vc, (keycode >> 7) | BIT(7)); in kbd_keycode()
1444 put_queue(vc, keycode | BIT(7)); in kbd_keycode()
1491 k_unicode(vc, keysym, !down); in kbd_keycode()
1515 (*k_handler[type])(vc, KVAL(keysym), !down); in kbd_keycode()