gpt4 book ai didi

c - Minix 键盘驱动

转载 作者:行者123 更新时间:2023-11-30 17:00:12 25 4
gpt4 key购买 nike

我正在尝试更改 minix 中的键盘驱动程序,我的想法是将键盘中使用的所有字符存储在一个文件中。我声明一个全局 FILE * fp 并将这段代码插入到/usr/src/drivers/tty/keyboard.c

while (icount > 0) {
scode = *itail++; /* take one key scan code */
if (itail == ibuf + KB_IN_BYTES) itail = ibuf;
icount--;

/* Function keys are being used for debug dumps. */
if (func_key(scode)) continue;

/* Perform make/break processing. */
ch = make_break(scode);

if (ch <= 0xFF) {
/* A normal character. */

fp = fopen("log.txt","a+");
fprint(fp,"%c",ch);
fclose(fp);

buf[0] = ch;
(void) in_process(tp, buf, 1);
} else ...

然后我在目录中运行“make”并重新启动,但这不起作用。我的意思是,该文件未创建。有什么想法吗?

最佳答案

这行不通。键盘驱动程序位于 TTY“驱动程序”内,这是一项负责控制台的服务。 FS/VFS 会将有关该控制台的 I/O 请求传输到 TTY。代码中的 fopenfprintfclose 是执行此类请求的方法。但是VFS只能处理来自“用户”程序的请求(并将它们传输给驱动程序); TTY 不是“用户”程序,因此不允许执行 I/O 请求。

关于c - Minix 键盘驱动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37733704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com