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

📄 genmap.c

📁 最新Minix3源码
💻 C
字号:
/*	genmap - output binary keymap			Author: Marcus Hampel */#include <sys/types.h>#include <minix/keymap.h>#include <fcntl.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include KEYSRCu8_t comprmap[4 + NR_SCAN_CODES * MAP_COLS * 9/8 * 2 + 1];void tell(const char *s){  write(2, s, strlen(s));}int main(void){  u8_t *cm, *fb;  u16_t *km;  int n;  /* Compress the keymap. */  memcpy(comprmap, KEY_MAGIC, 4);  cm = comprmap + 4;  n = 8;  for (km = keymap; km < keymap + NR_SCAN_CODES * MAP_COLS; km++) {	if (n == 8) {		/* Allocate a new flag byte. */		fb = cm;		*cm++ = 0;		n= 0;	}	*cm++ = (*km & 0x00FF);		/* Low byte. */	if (*km & 0xFF00) {		*cm++ = (*km >> 8);	/* High byte only when set. */		*fb |= (1 << n);	/* Set a flag if so. */	}	n++;  }  /* Don't store trailing zeros. */  while (cm > comprmap && cm[-1] == 0) cm--;  /* Emit the compressed keymap. */  if (write(1, comprmap, cm - comprmap) < 0) {	int err = errno;	tell("genmap: ");	tell(strerror(err));	tell("\n");	exit(1);  }  exit(0);}

⌨️ 快捷键说明

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