2011-04-10 99 views
1

我一直在做基本的NASM编码,我想知道是否可以使用NASM模拟按键。如果是这样,怎么样?NASM键盘仿真

我使用的是Ubuntu linux 10.04和Pentium R T4300处理器,如果它很重要。

+3

什么操作系统?或者你在裸机上运行? (即您自己的操作系统) – Earlz 2011-04-10 21:45:45

+0

您可能想看看[Linux系统调用(int 0x80)](http://asm.sourceforge.net/syscall.html) – 2011-04-11 19:55:58

+1

该页面没有键盘它曾经... – 2011-04-11 20:01:04

回答

0

有几种可能的途径取决于你想要做什么。没有一个是非常简单的(例如在DOS中),因为在Linux中没有一个全局可访问的键盘缓冲区。我不认为有可能将事件注入键盘的内核驱动程序(如果我错了,请纠正我)。当然,除非你修改驱动程序。您可以创建一个虚拟键盘,并配置您的程序以阅读除了真实键盘之外的事件。或者,如果您只需要它在Linux之上的特定环境中工作(例如X),则可能会在其API中找到一些可用的功能。

另一方面,对于某些场景,它可能非常简单。如果您想在交互式终端应用程序中自动回答一些问题,您可以这样做:yes | someapplicationecho yyny | someapplication。显然是shell代码而不是nasm代码。翻译它只是给读者一个练习。