pcvt_ioctl.h
字号:
/* * Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch. * * Copyright (c) 1992, 1993 Brian Dunford-Shore and Holger Veit. * * Copyright (C) 1992, 1993 Soeren Schmidt. * * All rights reserved. * * For the sake of compatibility, portions of this code regarding the * X server interface are taken from Soeren Schmidt's syscons driver. * * This code is derived from software contributed to 386BSD by * Holger Veit. * * This code is derived from software contributed to Berkeley by * William Jolitz and Don Ahn. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by * Hellmuth Michaelis, Brian Dunford-Shore, Joerg Wunsch, Holger Veit * and Soeren Schmidt. * 4. The name authors may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * * @(#)ioctl_pcvt.h, 3.20, Last Edit-Date: [Fri Apr 7 10:17:13 1995] * *//*--------------------------------------------------------------------------- * * pcvt_ioctl.h ioctl's for the VT220 video driver 'pcvt' * --------------------------------------------------------- * -hm ------------ Release 3.00 -------------- * -hm some new PCVT_xxx (and CONF_xxx) values * -hm version definitions moved to begin of file * -hm removed PCVT_FAKE_SYSCONS10 * -hm accept KERNEL or _KERNEL * -hm changed _IOCTL_PCVT_H_ to _MACHINE_PCVT_IOCTL_H_ (bde) * *---------------------------------------------------------------------------*/#ifndef _MACHINE_PCVT_IOCTL_H_#define _MACHINE_PCVT_IOCTL_H_/* pcvt version information for VGAPCVTID ioctl */#define PCVTIDNAME "pcvt-b24" /* driver id - string */#define PCVTIDMAJOR 3 /* driver id - major release */#define PCVTIDMINOR 20 /* driver id - minor release */#if !defined(KERNEL) && !defined(_KERNEL)#include <sys/types.h>#endif#include <sys/ioccom.h>/*---------------------------------------------------------------------------* * IOCTLs for MF II and AT Keyboards *---------------------------------------------------------------------------*/#define KBDRESET _IO('K', 1) /* reset keyboard / set defaults */#define KBDGTPMAT _IOR('K', 2, int) /* get current typematic value */#define KBDSTPMAT _IOW('K', 3, int) /* set current typematic value *//* Typematic Delay Values */#define KBD_TPD250 0x00 /* 250 ms */#define KBD_TPD500 0x20 /* 500 ms */#define KBD_TPD750 0x40 /* 750 ms */#define KBD_TPD1000 0x60 /* 1000 ms *//* Typematic Repeat Rate */#define KBD_TPM300 0x00 /* 30.0 char/second */#define KBD_TPM267 0x01 /* 26.7 char/second */#define KBD_TPM240 0x02 /* 24.0 char/second */#define KBD_TPM218 0x03 /* 21.8 char/second */#define KBD_TPM200 0x04 /* 20.0 char/second */#define KBD_TPM185 0x05 /* 18.5 char/second */#define KBD_TPM171 0x06 /* 17.1 char/second */#define KBD_TPM160 0x07 /* 16.0 char/second */#define KBD_TPM150 0x08 /* 15.0 char/second */#define KBD_TPM133 0x09 /* 13.3 char/second */#define KBD_TPM120 0x0A /* 12.0 char/second */#define KBD_TPM109 0x0B /* 10.9 char/second */#define KBD_TPM100 0x0C /* 10.0 char/second */#define KBD_TPM92 0x0D /* 9.2 char/second */#define KBD_TPM86 0x0E /* 8.6 char/second */#define KBD_TPM80 0x0F /* 8.0 char/second */#define KBD_TPM75 0x10 /* 7.5 char/second */#define KBD_TPM67 0x11 /* 6.7 char/second */#define KBD_TPM60 0x12 /* 6.0 char/second */#define KBD_TPM55 0x13 /* 5.5 char/second */#define KBD_TPM50 0x14 /* 5.0 char/second */#define KBD_TPM46 0x15 /* 4.6 char/second */#define KBD_TPM43 0x16 /* 4.3 char/second */#define KBD_TPM40 0x17 /* 4.0 char/second */#define KBD_TPM37 0x18 /* 3.7 char/second */#define KBD_TPM33 0x19 /* 3.3 char/second */#define KBD_TPM30 0x1A /* 3.0 char/second */#define KBD_TPM27 0x1B /* 2.7 char/second */#define KBD_TPM25 0x1C /* 2.5 char/second */#define KBD_TPM23 0x1D /* 2.3 char/second */#define KBD_TPM21 0x1E /* 2.1 char/second */#define KBD_TPM20 0x1F /* 2.0 char/second */#define KBDGREPSW _IOR('K', 4, int) /* get key repetition switch */#define KBDSREPSW _IOW('K', 5, int) /* set key repetition switch */#define KBD_REPEATOFF 0#define KBD_REPEATON 1#define KBDGLEDS _IOR('K', 6, int) /* get LED state */#define KBDSLEDS _IOW('K', 7, int) /* set LED state, does not influence */#define KBD_SCROLLLOCK 0x0001 /* the driver's idea of lock key state */#define KBD_NUMLOCK 0x0002#define KBD_CAPSLOCK 0x0004#define KBDGLOCK _IOR('K', 8, int) /* gets state of SCROLL,NUM,CAPS */#define KBDSLOCK _IOW('K', 9, int) /* sets state of SCROLL,NUM,CAPS + LEDs */#define KBDMAXOVLKEYSIZE 15 /* + zero byte */struct kbd_ovlkey /* complete definition of a key */{ u_short keynum; /* the key itself */ u_short type; /* type of key, see below */ u_char subu; /* subtype, ignored on write */ char unshift[KBDMAXOVLKEYSIZE+1]; /* emitted string, unshifted */ u_char subs; /* subtype, ignored on write */ char shift[KBDMAXOVLKEYSIZE+1]; /* emitted string, shifted */ u_char subc; /* subtype, ignored on write */ char ctrl[KBDMAXOVLKEYSIZE+1]; /* emitted string, control */ u_char suba; /* subtype, ignored on write */ char altgr[KBDMAXOVLKEYSIZE+1]; /* emitted string, altgr */};/* Max value for keynum field */#define KBDMAXKEYS 128 /* Max No. of Keys *//* Values for type field */#define KBD_NONE 0 /* no function, key is disabled */#define KBD_SHIFT 1 /* keyboard shift */#define KBD_META 2 /* alternate shift, sets bit8 to ASCII code */#define KBD_NUM 3 /* numeric shift, keypad num / appl */#define KBD_CTL 4 /* control code generation */#define KBD_CAPS 5 /* caps shift - swaps case of letter */#define KBD_ASCII 6 /* ascii code generating key */#define KBD_SCROLL 7 /* stop output */#define KBD_FUNC 8 /* function key */#define KBD_KP 9 /* keypad keys */#define KBD_BREAK 10 /* ignored */#define KBD_ALTGR 11 /* AltGr Translation feature */#define KBD_SHFTLOCK 12 /* shiftlock */#define KBD_CURSOR 13 /* cursor keys */#define KBD_RETURN 14 /* RETURN/ENTER keys *//* Values for subtype field */#define KBD_SUBT_STR 0 /* key is bound to a string */#define KBD_SUBT_FNC 1 /* key is bound to a function */#define KBD_OVERLOAD 0x8000 /* Key is overloaded, ignored in ioctl */#define KBD_MASK (~KBD_OVERLOAD) /* mask for type */#define KBDGCKEY _IOWR('K',16, struct kbd_ovlkey) /* get current key values */#define KBDSCKEY _IOW('K',17, struct kbd_ovlkey) /* set new key assignment values*/#define KBDGOKEY _IOWR('K',18, struct kbd_ovlkey) /* get original key assignment values*/#define KBDRMKEY _IOW('K',19, int) /* remove a key assignment */#define KBDDEFAULT _IO('K',20) /* remove all key assignments *//* mouse emulator definitions */struct mousedefs { int leftbutton; /* (PC) scan code for "left button" key */ int middlebutton; /* (PC) scan code for "mid button" key */ int rightbutton; /* (PC) scan code for "right button" key */ int stickybuttons; /* if true, the buttons are "sticky" */ int acceltime; /* timeout in microseconds to start pointer */ /* movement acceleration */ /* defaults to: scan(F1), scan(F2), scan(F3), false, 500000 */};#define KBDMOUSEGET _IOR('K', 25, struct mousedefs) /* read defs */#define KBDMOUSESET _IOW('K', 26, struct mousedefs) /* set defs *//*---------------------------------------------------------------------------* * IOCTLs for Video Adapter *---------------------------------------------------------------------------*//* Definition of PC Video Adaptor Types */#define UNKNOWN_ADAPTOR 0 /* Unidentified adaptor ... */#define MDA_ADAPTOR 1 /* Monochrome Display Adaptor/Hercules Graphics Card */#define CGA_ADAPTOR 2 /* Color Graphics Adaptor */#define EGA_ADAPTOR 3 /* Enhanced Graphics Adaptor */#define VGA_ADAPTOR 4 /* Video Graphics Adaptor/Array *//* Definitions of Monitor types */#define MONITOR_MONO 0 /* Monochrome Monitor */#define MONITOR_COLOR 1 /* Color Monitor *//* Types of VGA chips detectable by current driver version */#define VGA_F_NONE 0 /* FAMILY NOT KNOWN */#define VGA_UNKNOWN 0 /* default, no 132 columns */#define VGA_F_TSENG 1 /* FAMILY TSENG */#define VGA_ET4000 1 /* Tseng Labs ET4000 */#define VGA_ET3000 2 /* Tseng Labs ET3000 */#define VGA_F_WD 2 /* FAMILY WD */#define VGA_PVGA 3 /* Western Digital Paradise VGA */#define VGA_WD90C00 4 /* Western Digital WD90C00 */#define VGA_WD90C10 5 /* Western Digital WD90C10 */#define VGA_WD90C11 6 /* Western Digital WD90C11 */#define VGA_F_V7 3 /* FAMILY VIDEO 7 */#define VGA_V7VEGA 7 /* Video 7 VEGA VGA */#define VGA_V7FWVR 8 /* Video 7 FASTWRITE/VRAM */#define VGA_V7V5 9 /* Video 7 Version 5 */#define VGA_V71024I 10 /* Video 7 1024i */#define VGA_V7UNKNOWN 11 /* Video 7 unknown board .. */#define VGA_F_TRI 4 /* FAMILY TRIDENT */#define VGA_TR8800BR 12 /* Trident TVGA 8800BR */#define VGA_TR8800CS 13 /* Trident TVGA 8800CS */#define VGA_TR8900B 14 /* Trident TVGA 8900B */#define VGA_TR8900C 15 /* Trident TVGA 8900C */#define VGA_TR8900CL 16 /* Trident TVGA 8900CL */#define VGA_TR9000 17 /* Trident TVGA 9000 */#define VGA_TR9100 18 /* Trident TVGA 9100 */#define VGA_TR9200 19 /* Trident TVGA 9200 */#define VGA_TRUNKNOWN 20 /* Trident unknown */#define VGA_F_S3 5 /* FAMILY S3 */#define VGA_S3_911 21 /* S3 911 */#define VGA_S3_924 22 /* S3 924 */#define VGA_S3_80x 23 /* S3 801/805 */#define VGA_S3_928 24 /* S3 928 */#define VGA_S3_UNKNOWN 25 /* unknown S3 chipset */#define VGA_F_CIR 6 /* FAMILY CIRRUS */#define VGA_CL_GD5402 26 /* Cirrus CL-GD5402 */#define VGA_CL_GD5402r1 27 /* Cirrus CL-GD5402r1 */#define VGA_CL_GD5420 28 /* Cirrus CL-GD5420 */#define VGA_CL_GD5420r1 29 /* Cirrus CL-GD5420r1 */#define VGA_CL_GD5422 30 /* Cirrus CL-GD5422 */#define VGA_CL_GD5424 31 /* Cirrus CL-GD5424 */#define VGA_CL_GD5426 32 /* Cirrus CL-GD5426 */#define VGA_CL_GD5428 33 /* Cirrus CL-GD5428 *//*****************************************************************************//* NOTE: update the 'scon' utility when adding support for more chipsets !!! *//*****************************************************************************//* Definitions of Vertical Screen Sizes for EGA/VGA Adaptors */#define SIZ_25ROWS 0 /* VGA: 25 lines, 8x16 font */ /* EGA: 25 lines, 8x14 font */#define SIZ_28ROWS 1 /* VGA: 28 lines, 8x14 font */#define SIZ_35ROWS 2 /* EGA: 35 lines, 8x10 font */#define SIZ_40ROWS 3 /* VGA: 40 lines, 8x10 font */#define SIZ_43ROWS 4 /* EGA: 43 lines, 8x8 font */#define SIZ_50ROWS 5 /* VGA: 50 lines, 8x8 font *//* Definitions of Font Sizes for EGA/VGA Adaptors */#define FNT_8x16 0 /* 8x16 Pixel Font, only VGA */#define FNT_8x14 1 /* 8x14 Pixel Font, EGA/VGA */#define FNT_8x10 2 /* 8x10 Pixel Font, EGA/VGA */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -