📄 lkey.h
字号:
#ifndef LKEY_H
#define LKEY_H
typedef unsigned char uchar;
////////////////////////////////////////////////////////////////////////////
/* KEY NUM */
#define KEY_ESC 1 /* keyboard scan codes */
#define KEY_1 2
#define KEY_2 3
#define KEY_3 4
#define KEY_4 5
#define KEY_5 6
#define KEY_6 7
#define KEY_7 8
#define KEY_8 9
#define KEY_9 10
#define KEY_0 11
#define KEY_MINUS 12
#define KEY_EQUALS 13
#define KEY_BACKSPACE 14
#define KEY_TAB 15
#define KEY_Q 16
#define KEY_W 17
#define KEY_E 18
#define KEY_R 19
#define KEY_T 20
#define KEY_Y 21
#define KEY_U 22
#define KEY_I 23
#define KEY_O 24
#define KEY_P 25
#define KEY_OPENBRACE 26
#define KEY_CLOSEBRACE 27
#define KEY_ENTER 28
#define KEY_CTRL 29
#define KEY_LCTRL 29
#define KEY_A 30
#define KEY_S 31
#define KEY_D 32
#define KEY_F 33
#define KEY_G 34
#define KEY_H 35
#define KEY_J 36
#define KEY_K 37
#define KEY_L 38
#define KEY_COLON 39
#define KEY_QUOTE 40
#define KEY_TILDE 41
#define KEY_LSHIFT 42
#define KEY_BACKSLASH 43
#define KEY_Z 44
#define KEY_X 45
#define KEY_C 46
#define KEY_V 47
#define KEY_B 48
#define KEY_N 49
#define KEY_M 50
#define KEY_COMMA 51
#define KEY_STOP 52
#define KEY_SLASH 53
#define KEY_RSHIFT 54
#define KEY_ASTERISK 55
#define KEY_ALT 56
#define KEY_SPACE 57
#define KEY_CAPSLOCK 58
#define KEY_F1 59
#define KEY_F2 60
#define KEY_F3 61
#define KEY_F4 62
#define KEY_F5 63
#define KEY_F6 64
#define KEY_F7 65
#define KEY_F8 66
#define KEY_F9 67
#define KEY_F10 68
#define KEY_NUMLOCK 69
#define KEY_SCRLOCK 70
#define KEY_HOME 71
#define KEY_UP 72
#define KEY_PGUP 73
#define KEY_MINUS_PAD 74
#define KEY_LEFT 75
#define KEY_5_PAD 76
#define KEY_RIGHT 77
#define KEY_PLUS_PAD 78
#define KEY_END 79
#define KEY_DOWN 80
#define KEY_PGDN 81
#define KEY_INSERT 82
#define KEY_DEL 83
#define KEY_PRTSCR 84
#define KEY_F11 87
#define KEY_F12 88
#define KEY_LWIN 91
#define KEY_RWIN 92
#define KEY_MENU 93
#define KEY_PAD 100
#define KEY_RCONTROL 120
#define KEY_ALTGR 121
#define KEY_SLASH2 122
#define KEY_PAUSE 123
#define DAT_ID(a,b,c,d) ((a<<24) | (b<<16) | (c<<8) | d)
#define DAT_MIDI DAT_ID('M','I','D','I')
/////////// KEYBOARD /////////////
void lkInitKey();
void lkRestKey();
char lKeyOn(char key);
////////////////////////
char lkbhit();
void lk_emu_old9(char mode);
char lkpressed();
short lkgetch(short *code);
void lkungetch(short code);
/////////// TEXT VIEW ////////////
char lk_text_init(short mode,short scr_len,short scr_wid);
void lk_write_data(short x,short y,char data,uchar mode);
char lk_read_data(short x,short y,uchar mode);
char lk_copy_data(short left,short top,short right,short bottom,char *buf,char mode); // 0 screen->mem 1 mem->screen
char lk_fill_data(short left,short top,short right,short bottom,char data,char mode); // 0 text 1 color
char lk_write_str(short x,short y,char *s);
char lk_scroll(short left,short top,short right,short bottom,char direction);
void lk_gotoxy(short x,short y);
void lk_getxy(short *x,short *y);
void lk_putch(char ch);
void lk_setwindow(short left,short top,short right,short bottom);
void lk_setcolor(short textcolor,short backgrnd);
void lk_clear(char mode); // 0 window 1 full screen
void lk_puts(char *s);
void lk_printf(char *fmt,...);
void lk_set_cursor(short mode); // 0: don't display 1,2: normal
void lk_draw_window(short left,short top,short right,short bottom,char *name,short type);
//////// Sound Blaster ///////////
extern short lk_sb_port, lk_fm_port, lk_fm_delay1, lk_fm_delay2;
short lsAutoDetect();
char lsWritePortC(uchar value);
uchar lsReadPortC();
short lsResetDsp(short data);
short lsGetDspVersion();
void lsMixerWrite(short reg,short data);
short lsMixerRead(short reg);
short lsSetMixer(int digi_volume, int midi_volume);
short lsGetBlasterEnv(short *sb_port,short *sb_dma8,short *sb_dma16,short *sb_irq);
void lsFMWrite(unsigned short reg,uchar data);
uchar lsFMRead();
void lsFMInit();
void lsFMSound(short frequency,short block);
void lsFMSoundOff(short frequency,short block);
void lsFM(short frequency,short block);
////////////////////////////////////////////////////////////////////////////
char lk_sb_init(short addr,short irq,short dma);
char lk_sb_rest();
int lk_sb_play(char *buf,int len,int sample);
// Midi Player /////////////////////////////////////////////////////////////
#define TIMERS_PER_SECOND 1193181L
#define MIDI_VOICES 32 /* actual drivers may not be */
#define MIDI_TRACKS 32 /* able to handle this many */
#define MIDI_AUTO 0
#define MIDI_ADLIB 1
#define MIDI_DIGI 2
#define MIDI_MPU401 3
typedef struct MIDI /* a midi file */
{
int divisions; /* number of ticks per quarter note */
struct {
unsigned char *data; /* MIDI message stream */
int len; /* length of the track data */
} track[MIDI_TRACKS];
} MIDI;
extern char *lmMidiMapFile[2],lm_error_msg[];
void ls_set_volume(int digi_volume,int midi_volume);
char lmMidiInit(char driver);
char lmMidiRest();
void lmFM_load_map(int choice,int drums);
int lmFM_load_ibk(char *filename, int drums);
MIDI *lmLoadMidi(char *filename,long file_offset);
void lmDestroyMidi(MIDI*);
int lmMidiPlay(MIDI *midi, int loop);
void lmStopMidi();
void lmMidiPause();
int lmMidiSeek(int target);
void lmMidiResume();
char lmMidiStatus();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -