📄 pcvt_kbd.c
字号:
case KBD_RETURN: map->key[idx].map[0] = iso2ibm(kdef.unshift[0]); map->key[idx].map[1] = iso2ibm(kdef.shift[0]); map->key[idx].map[2] = map->key[idx].map[3] = iso2ibm(kdef.ctrl[0]); map->key[idx].map[4] = map->key[idx].map[5] = iso2ibm(c = kdef.altgr[0]); /* * XXX this is a hack * since we currently do not map strings to AltGr + * shift, we attempt to use the unshifted AltGr * definition here and try to toggle the case * this should at least work for ISO8859 letters, * but also for (e.g.) russian KOI-8 style */ if((c & 0x7f) >= 0x40) map->key[idx].map[5] = iso2ibm(c ^ 0x20); break; case KBD_FUNC: /* we are only interested in F1 thru F12 here */ if(i >= 112 && i <= 123) { map->key[idx].map[0] = i - 112 + 27; map->key[idx].spcl = 0x80; } break; case KBD_SHIFT: c = i == 44? 2 /* lSh */: 3 /* rSh */; goto special; case KBD_CAPS: c = 4; goto special; case KBD_NUM: c = 5; goto special; case KBD_SCROLL: c = 6; goto special; case KBD_META: c = 7; goto special; case KBD_CTL: c = 9; goto special; special: for(j = 0; j < NUM_STATES; j++) map->key[idx].map[j] = c; map->key[idx].spcl = 0xff; break; default: break; } }}#endif /* PCVT_USL_VT_COMPAT *//*---------------------------------------------------------------------------* * switch keypad to numeric mode *---------------------------------------------------------------------------*/voidvt_keynum(struct video_state *svsp){ svsp->num_lock = 1; update_led();}/*---------------------------------------------------------------------------* * switch keypad to application mode *---------------------------------------------------------------------------*/voidvt_keyappl(struct video_state *svsp){ svsp->num_lock = 0; update_led();}#if !PCVT_VT220KEYB /* !PCVT_VT220KEYB, HP-like Keyboard layout *//*---------------------------------------------------------------------------* * function bound to function key 1 *---------------------------------------------------------------------------*/static voidfkey1(void){ if(!meta_down) { if((vsp->vt_pure_mode == M_HPVT) && (vsp->which_fkl == SYS_FKL)) toggl_columns(vsp); else more_chars = (u_char *)"\033[17~"; /* F6 */ } else { if(vsp->vt_pure_mode == M_PUREVT || (vsp->which_fkl == USR_FKL)) more_chars = (u_char *)"\033[26~"; /* F14 */ }}/*---------------------------------------------------------------------------* * function bound to function key 2 *---------------------------------------------------------------------------*/static voidfkey2(void){ if(!meta_down) { if((vsp->vt_pure_mode == M_HPVT) && (vsp->which_fkl == SYS_FKL)) vt_ris(vsp); else more_chars = (u_char *)"\033[18~"; /* F7 */ } else { if(vsp->vt_pure_mode == M_PUREVT || (vsp->which_fkl == USR_FKL)) more_chars = (u_char *)"\033[28~"; /* HELP */ }}/*---------------------------------------------------------------------------* * function bound to function key 3 *---------------------------------------------------------------------------*/static voidfkey3(void){ if(!meta_down) { if((vsp->vt_pure_mode == M_HPVT) && (vsp->which_fkl == SYS_FKL)) toggl_24l(vsp); else more_chars = (u_char *)"\033[19~"; /* F8 */ } else { if(vsp->vt_pure_mode == M_PUREVT || (vsp->which_fkl == USR_FKL)) more_chars = (u_char *)"\033[29~"; /* DO */ }}/*---------------------------------------------------------------------------* * function bound to function key 4 *---------------------------------------------------------------------------*/static voidfkey4(void){ if(!meta_down) {#if PCVT_SHOWKEYS if((vsp->vt_pure_mode == M_HPVT) && (vsp->which_fkl == SYS_FKL)) toggl_kbddbg(vsp); else more_chars = (u_char *)"\033[20~"; /* F9 */#else if(vsp->vt_pure_mode == M_PUREVT || (vsp->which_fkl == USR_FKL)) more_chars = (u_char *)"\033[20~"; /* F9 */#endif /* PCVT_SHOWKEYS */ } else { if(vsp->vt_pure_mode == M_PUREVT || (vsp->which_fkl == USR_FKL)) more_chars = (u_char *)"\033[31~"; /* F17 */ }}/*---------------------------------------------------------------------------* * function bound to function key 5 *---------------------------------------------------------------------------*/static voidfkey5(void){ if(!meta_down) { if((vsp->vt_pure_mode == M_HPVT) && (vsp->which_fkl == SYS_FKL)) toggl_bell(vsp); else more_chars = (u_char *)"\033[21~"; /* F10 */ } else { if(vsp->vt_pure_mode == M_PUREVT || (vsp->which_fkl == USR_FKL)) more_chars = (u_char *)"\033[32~"; /* F18 */ }}/*---------------------------------------------------------------------------* * function bound to function key 6 *---------------------------------------------------------------------------*/static voidfkey6(void){ if(!meta_down) { if((vsp->vt_pure_mode == M_HPVT) && (vsp->which_fkl == SYS_FKL)) toggl_sevenbit(vsp); else more_chars = (u_char *)"\033[23~"; /* F11 */ } else { if(vsp->vt_pure_mode == M_PUREVT || (vsp->which_fkl == USR_FKL)) more_chars = (u_char *)"\033[33~"; /* F19 */ }}/*---------------------------------------------------------------------------* * function bound to function key 7 *---------------------------------------------------------------------------*/static voidfkey7(void){ if(!meta_down) { if((vsp->vt_pure_mode == M_HPVT) && (vsp->which_fkl == SYS_FKL)) toggl_dspf(vsp); else more_chars = (u_char *)"\033[24~"; /* F12 */ } else { if(vsp->vt_pure_mode == M_PUREVT || (vsp->which_fkl == USR_FKL)) more_chars = (u_char *)"\033[34~"; /* F20 */ }}/*---------------------------------------------------------------------------* * function bound to function key 8 *---------------------------------------------------------------------------*/static voidfkey8(void){ if(!meta_down) { if((vsp->vt_pure_mode == M_HPVT) && (vsp->which_fkl == SYS_FKL)) toggl_awm(vsp); else more_chars = (u_char *)"\033[25~"; /* F13 */ } else { if(vsp->vt_pure_mode == M_PUREVT || (vsp->which_fkl == USR_FKL)) more_chars = (u_char *)"\033[35~"; /* F21 ??!! */ }}/*---------------------------------------------------------------------------* * function bound to function key 9 *---------------------------------------------------------------------------*/static voidfkey9(void){ if(meta_down) { if(vsp->vt_pure_mode == M_PUREVT) return; if(vsp->labels_on) /* toggle label display on/off */ fkl_off(vsp); else fkl_on(vsp); } else { do_vgapage(0); }}/*---------------------------------------------------------------------------* * function bound to function key 10 *---------------------------------------------------------------------------*/static voidfkey10(void){ if(meta_down) { if(vsp->vt_pure_mode != M_PUREVT && vsp->labels_on) { if(vsp->which_fkl == USR_FKL) sw_sfkl(vsp); else if(vsp->which_fkl == SYS_FKL) sw_ufkl(vsp); } } else { do_vgapage(1); }}/*---------------------------------------------------------------------------* * function bound to function key 11 *---------------------------------------------------------------------------*/static voidfkey11(void){ if(meta_down) { if(vsp->vt_pure_mode == M_PUREVT) set_emulation_mode(vsp, M_HPVT); else if(vsp->vt_pure_mode == M_HPVT) set_emulation_mode(vsp, M_PUREVT); } else { do_vgapage(2); }}/*---------------------------------------------------------------------------* * function bound to function key 12 *---------------------------------------------------------------------------*/static voidfkey12(void){ if(meta_down) { if(current_video_screen + 1 > totalscreens-1) do_vgapage(0); else do_vgapage(current_video_screen + 1); } else { do_vgapage(3); }}/*---------------------------------------------------------------------------* * function bound to SHIFTED function key 1 *---------------------------------------------------------------------------*/static voidsfkey1(void){ if(!meta_down) { if(vsp->ukt.length[0]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[0]]); } else { if(vsp->ukt.length[9]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[9]]); }}/*---------------------------------------------------------------------------* * function bound to SHIFTED function key 2 *---------------------------------------------------------------------------*/static voidsfkey2(void){ if(!meta_down) { if(vsp->ukt.length[1]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[1]]); } else { if(vsp->ukt.length[11]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[11]]); }}/*---------------------------------------------------------------------------* * function bound to SHIFTED function key 3 *---------------------------------------------------------------------------*/static voidsfkey3(void){ if(!meta_down) { if(vsp->ukt.length[2]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[2]]); } else { if(vsp->ukt.length[12]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[12]]); }}/*---------------------------------------------------------------------------* * function bound to SHIFTED function key 4 *---------------------------------------------------------------------------*/static voidsfkey4(void){ if(!meta_down) { if(vsp->ukt.length[3]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[3]]); } else { if(vsp->ukt.length[13]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[13]]); }}/*---------------------------------------------------------------------------* * function bound to SHIFTED function key 5 *---------------------------------------------------------------------------*/static voidsfkey5(void){ if(!meta_down) { if(vsp->ukt.length[4]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[4]]); } else { if(vsp->ukt.length[14]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[14]]); }}/*---------------------------------------------------------------------------* * function bound to SHIFTED function key 6 *---------------------------------------------------------------------------*/static voidsfkey6(void){ if(!meta_down) { if(vsp->ukt.length[6]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[6]]); } else { if(vsp->ukt.length[15]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[15]]); }}/*---------------------------------------------------------------------------* * function bound to SHIFTED function key 7 *---------------------------------------------------------------------------*/static voidsfkey7(void){ if(!meta_down) { if(vsp->ukt.length[7]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[7]]); } else { if(vsp->ukt.length[16]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[16]]); }}/*---------------------------------------------------------------------------* * function bound to SHIFTED function key 8 *---------------------------------------------------------------------------*/static voidsfkey8(void){ if(!meta_down) { if(vsp->ukt.length[8]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[8]]); } else { if(vsp->ukt.length[17]) /* entry available ? */ more_chars = (u_char *) &(vsp->udkbuf[vsp->ukt.first[17]]); }}/*---------------------------------------------------------------------------* * function bound to SHIFTED function key 9 *---------------------------------------------------------------------------*/static voidsfkey9(void){}/*---------------------------------------------------------------------------* * function bound to SHIFTED function key 10 *---------------------------------------------------------------------------*/static voidsfkey10(void){}/*---------------------------------------------------------------------------* * function bound to SHIFTED function key 11 *---------------------------------------------------------------------------*/static voidsfkey11(void){}/*---------------------------------------------------------------------------* * function bou
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -