⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkkeys.c

📁 网络MPEG4IP流媒体开发源代码
💻 C
字号:
/* Simple program:  Loop, watching keystrokes   Note that you need to call SDL_PollEvent() or SDL_WaitEvent() to    pump the event loop and catch keystrokes.*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include "SDL.h"static void print_modifiers(void){	int mod;	printf(" modifiers:");	mod = SDL_GetModState();	if(!mod) {		printf(" (none)");		return;	}	if(mod & KMOD_LSHIFT)		printf(" LSHIFT");	if(mod & KMOD_RSHIFT)		printf(" RSHIFT");	if(mod & KMOD_LCTRL)		printf(" LCTRL");	if(mod & KMOD_RCTRL)		printf(" RCTRL");	if(mod & KMOD_LALT)		printf(" LALT");	if(mod & KMOD_RALT)		printf(" RALT");	if(mod & KMOD_LMETA)		printf(" LMETA");	if(mod & KMOD_RMETA)		printf(" RMETA");	if(mod & KMOD_NUM)		printf(" NUM");	if(mod & KMOD_CAPS)		printf(" CAPS");	if(mod & KMOD_MODE)		printf(" MODE");}static void PrintKey(SDL_keysym *sym, int pressed){	/* Print the keycode, name and state */	if ( sym->sym ) {		printf("Key %s:  %d-%s ", pressed ?  "pressed" : "released",					sym->sym, SDL_GetKeyName(sym->sym));	} else {		printf("Unknown Key (scancode = %d) %s ", sym->scancode,					pressed ?  "pressed" : "released");	}	/* Print the translated character, if one exists */	if ( sym->unicode ) {		/* Is it a control-character? */		if ( sym->unicode < ' ' ) {			printf(" (^%c)", sym->unicode+'@');		} else {#ifdef UNICODE			printf(" (%c)", sym->unicode);#else			/* This is a Latin-1 program, so only show 8-bits */			if ( !(sym->unicode & 0xFF00) )				printf(" (%c)", sym->unicode);#endif		}	}	print_modifiers();	printf("\n");}int main(int argc, char *argv[]){	SDL_Event event;	int done;	Uint32 videoflags;	/* Initialize SDL */	if ( SDL_Init(SDL_INIT_VIDEO) < 0 ) {		fprintf(stderr, "Couldn't initialize SDL: %s\n",SDL_GetError());		exit(1);	}	atexit(SDL_Quit);	videoflags = SDL_SWSURFACE;	while( argc > 1 ) {		--argc;		if ( argv[argc] && !strcmp(argv[argc], "-fullscreen") ) {			videoflags |= SDL_FULLSCREEN;		} else {			fprintf(stderr, "Usage: %s [-fullscreen]\n", argv[0]);			exit(1);		}	}	/* Set 640x480 video mode */	if ( SDL_SetVideoMode(640, 480, 0, videoflags) == NULL ) {		fprintf(stderr, "Couldn't set 640x480 video mode: %s\n",							SDL_GetError());		exit(2);	}	/* Enable UNICODE translation for keyboard input */	SDL_EnableUNICODE(1);	/* Enable auto repeat for keyboard input */	SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY,	                    SDL_DEFAULT_REPEAT_INTERVAL);	/* Watch keystrokes */	done = 0;	while ( !done ) {		/* Check for events */		SDL_WaitEvent(&event);		switch (event.type) {			case SDL_KEYDOWN:				PrintKey(&event.key.keysym, 1);				break;			case SDL_KEYUP:				PrintKey(&event.key.keysym, 0);				break;			case SDL_MOUSEBUTTONDOWN:				/* Any button press quits the app... */			case SDL_QUIT:				done = 1;				break;			default:				break;		}	}	return(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -