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

📄 keyboard.c

📁 《Linux程序设计权威指南》源代码
💻 C
字号:
	/* File: keyboard.c */	#include <unistd.h>	#include <stdlib.h>	#include <stdio.h>	#include <signal.h>	#include <vga.h>	#include <vgakeyboard.h>	int main(int argc, char *argv[])	{		//x, y 当前位置, w, h 屏幕尺寸		int x, y, w, h;		printf("Arrow keys to draw, 'q' or ESC key to quit.\n");		printf("press any key to start...\n");		while(!vga_getkey());		//初始化		vga_init();		vga_setmode(G320x200x256);		//键盘初始化		if (keyboard_init()) {			printf("Could not initialize keyboard.\n");			exit(1);		}		//小键盘起作用		keyboard_translatekeys(TRANSLATE_CURSORKEYS|TRANSLATE_DIAGONAL);		//取得屏幕尺寸,初始化位置		w = vga_getxdim();		h = vga_getydim();		x = w / 2;		y = h / 2;    		//设置颜色 		vga_setcolor(3);		for (;;) { 			//画点			vga_drawpixel(x, y);			usleep(10000);			keyboard_update();			//监测箭头键是否按下, 移动画点			if (keyboard_keypressed(SCANCODE_CURSORLEFT)) x--;			if (keyboard_keypressed(SCANCODE_CURSORRIGHT)) x++;			if (keyboard_keypressed(SCANCODE_CURSORUP)) y--;			if (keyboard_keypressed(SCANCODE_CURSORDOWN)) y++;			//检查是否超出边界			if (x < 0) x = 0;			if (x >= w) x = w - 1;			if (y < 1) y = 1;			if (y >= h) y = h - 1;			//Q 和 ESC 键退出			if (keyboard_keypressed(SCANCODE_Q) ||				keyboard_keypressed(SCANCODE_ESCAPE)) break;		}		//复原		keyboard_close();		vga_setmode(TEXT);		exit(0);	}

⌨️ 快捷键说明

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