许多用户接口程序员通常以他们所使用的图形环境作为范例,譬如Microsoft Windows ,X,或者MS-DOS中的众多图形包的一个。这些工具包通常提供有一个主事件循环,由应用程序员去填充不同的回调函数。对应用程序员而言,大多数控制流程都被隐藏起来了。程序员并不需要知道和关心按键或者鼠标事件是如何被捕捉到并消抖,这些都是系统做的事情。但是,有时候,嵌入式程序员不得不面对这样一个现状: 自己设计的硬件装置没有被这些标准工具包中任何一个所集成进去。通常情况下,这些可用的商业的工具包并不会考虑用户输入在硬件层次上是如何组成的。更普遍的情况是,这些商业工具包根本就不能够在嵌入式平台上运行。