CN1133916C - 在操作系统中支持触摸板的计算机系统 - Google Patents

在操作系统中支持触摸板的计算机系统 Download PDF

Info

Publication number
CN1133916C
CN1133916C CNB951020404A CN95102040A CN1133916C CN 1133916 C CN1133916 C CN 1133916C CN B951020404 A CNB951020404 A CN B951020404A CN 95102040 A CN95102040 A CN 95102040A CN 1133916 C CN1133916 C CN 1133916C
Authority
CN
China
Prior art keywords
cpu
circuit
zone
computer system
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB951020404A
Other languages
English (en)
Other versions
CN1139235A (zh
Inventor
R��L��������ķ
R·L·伯特兰姆
J·L·康斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1139235A publication Critical patent/CN1139235A/zh
Application granted granted Critical
Publication of CN1133916C publication Critical patent/CN1133916C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/0202Constructional details or processes of manufacture of the input device
    • G06F3/0224Key guide holders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0238Programmable keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1068Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad

Abstract

一个包含一个中央处理单元CPU的计算机系统,配置为接受来自一个触摸板或类似设备的坐标型数据。CPU有一个在上面运行的操作系统,后者具有对触摸板的接口的特殊支持。该操作系统有下列能力:(1)映射出触摸板的几何区域,并赋予区域特定的区域标识符作为对应用程序的响应;(2)确定一个被触区域的区域标识符并把该区域标识符传送给应用程序。还提供对用来定义区域的命令的单位的改变的支持。

Description

在操作系统中支持触摸板的 计算机系统
技术领域
本发明总的来讲与和数字系统一起使用的坐标型指点设备有关,更具体地讲与一种在操作系统中具有对触摸板的支持的计算机系统有关。
背景技术
视频图形计算机系统是众所周知的大受欢迎的消费产品。一个典型的系统包括一个数据处理单元,它与一台普通的电视机相连,用于显示一个游戏或其它应用程序的图象。数据处理单元从一块通常以盒式存储器的形式包装起来的只读存储器(ROM)接受控制软件。该卡可插入数据处理单元中,也可以拔出。至少有一种指点设备,例如鼠标器、游戏棒、触摸板、触摸屏、开关盘、或者光枪,也被连到数据处理单元,使用户可以输入供控制软件执行应用程序用的位置信息。
数据处理单元通常具有一个中央处理单元(CPU)和相联的易失性及非易失性的存储器(包括所有的随机存取存储器(RAM)和自举只读存储器(自举ROM)),一个电视(RF视频)信号发生器,和一个用来连接各种指点设备的输入/输出(I/O)处理器接口。这些设备是电路连通的。这些系统的一个与众不同的特点是使用一块母板或系统板把这些元件电联接在一起。
触摸板是坐标型指点设备,用于输入坐标型数据到计算机系统。触摸板一般是一个压力敏感的有界平面,能够检测它表面上的局部的压力。当用户用手指、铁笔或类似物体接触这个表面时,触摸板确定所触的位置并把该位置的坐标通过产生的某种类型的信号报告给所接的计算机系统。作为回应,计算机执行与所触位置相关的功能,如果有的话。
一般地,触摸板的一个或多个区域被赋予系统内或应用程序内的某种功能,例如输入数据或提供方向输入。按照常规,用户从一个模板得知哪个功能与哪个区域相关联。模板是一张有图形设计的纸,一般贴在触摸板表面上。图形设计一般绘出或映射出触摸板表面的区域的轮廓而且这些区域一般加以标注以提示用户哪种功能与所映射出的区域中的哪一个相关联。
在典型的触摸板系统中,应用程序从触摸板接受坐标位置数据信号。例如,当触摸板报告板面向上十五列向下十二行的地方被触,应用程序必须把坐标位置与映射到那个区域的功能联系起来。这就是说,应用程序必须对指示出哪一个图形图案中的区域被触的信号进行译码,进而决定哪种功能与所触位置相关联。
依赖于每个应用程序来决定哪个区域被触导致了许多问题。第一,应用程序变得依赖于硬件。一个特定的应用程序必须“知道”所使用的触摸板的分辨率(行和列的数目),总体尺寸,以及数据格式,因而导致应用程序也许不能使用多种类型的触摸板来执行。随着技术的进步提高了触摸板的分辨率,现有程序可能没有灵活性以调节。第二,这需要应用程序员在应用程序中写进位置译码的代码。这样,每个应用程序必须有自己的区域确定例程,于是导致了不必要的重复劳动和可能的不一致性以及甚至支持触摸板区域的方式中的错误。
发明内容
根据本发明,提供一个在操作系统中对触摸板的支持的计算机系统。该操作系统有如下能力:(1)映射出触摸板的几何区域并且给这些区域赋予对应于应用程序的专有的区域标识符;(2)确定一个触摸板区域的区域标识符并把该区域标识符传给应用程序。
这些普通功能给与一个触摸板接口的任务提供了一致性和灵活性。
本发明的这些及其它优点将随着对本发明的详尽描述而变得更为明显。
在溶进并且组成了本说明的一部分的附图中,示出了本发明的实施例,这些与上文对本发明的一般描述,以及下文的详细描述,共同用于例述本发明的原理。
附图说明
图1A和1B是显示本发明的系统总体布局的方框图;
图1C是显示用于本发明的系统中的视频数字到模拟转换器的细节的示意图;
图2A是本发明的输入设备的顶视平面图,示出了有缺省模板的触摸板,两个游戏棒,和一个模板覆盖;
图2B是本发明的输入设备的顶视平面图,其中一个模板覆盖被插入了模板覆盖夹持器中;
图2C是图2B所示的本发明的输入设备的一部分的一个放大的片段的平面图;
图2D是沿由图2C中的线2D-2D所标明的平面所截的一个剖面图;
图2E是沿由图2C中的线2E-2E所标明的平面所截的一个剖面图;
图2F是沿由图2A中的线2F-2F所标明的平面所截的一个剖面图;
图2G是图2A所示的本发明的输入设备的一个片段顶部平面图,其中为清晰起见而部分省略了;
图2H-2K是一个显示识别模式的模板覆盖的一个边缘的几个不同实施例的底部平面图;
图2L是本发明的输入设备的一个前部正视图;
图2M是沿由图2A中的线2M-2M所标明的平面所截的部分剖面图,它显示本发明的输入设备所用的游戏棒的细节;以及
图3是显示本发明的输入设备的电路的方框图。
图4显示了以本发明的支持触摸板的操作系统设计的一个触摸板的一个可能的配置图。
具体实施方式
参考图1A和1B,显示了一个本发明的计算机系统10。据图1A所示,系统10包括一个数据处理单元12,有一个程序盒式存储器以可移去方式与之相连。同样连到数据处理单元12上的还有一台标准电视机(TV)16和一个输入设备18,后者有一个触摸板19和两个游戏棒20a,20b。输入设备18把由手指、铁笔21或者类似的东西在触摸板上所触的位置所对应的坐标型数据送至数据处理单元12。此外,输入设备18还向数据处理单元12发送由游戏棒20a和20b的运动所对应的方向型数据。虽然图1A中没有示出,但标准电视机16可由一对扬声器和一个接受复合视频信号的显示设备来代替。输入设备18通过一条串行数据链路22与数据处理单元12相联。电视机16通过一条RF视频线24与数据处理单元12相联。
盒式存储器14有一个边缘卡片连接器,后者用26指出,并与盒式存储器连接器28连接,因而把盒式存储器14中的设备与数据处理单元12中的设备进行电连通。
数据处理单元12由一个中央处理单元(CPU)30(它有一条与之相连的系统总线31),一个声频/视频(A/V)控制器/协处理器32,一个系统存储器33(它连到由A/V控制器/协处理器32从系统总线31产生的副系统总线34上),第一和第二译码器芯片(未示出),一个I/O协处理器36,两个盒式存储器连接器(一个由28指出,另一个未示出),需要用来产生声频和视频信号的附加电路38,以及一个扩展连接器39组成。这些设备是如图中数字所示以电路连通方式连接起来。附加电路38由图1B示出并将在伴随图1B的文字中做更为详尽的讨论。
CPU30产生多条总线:一个数据总线,一个地址总线,和一条控制总线,这是本技术中众所周知的。这三个总线的集合称为系统总线31。在较佳实施例中,CPU30是一块80376,由Intel公司(3065Bowers Ave.,Santa Clara,California,95051)生产。80376是著名的80386SX的一个变种,后者在本技术中众所周知并同样可从Intel公司得到。80376与80386SX的不同之处在于80376以32位模式启动,而不是16位模式。具体地说,CR0寄存器被强置为0011H(十六进制的0011)状态,其中位0被强置为逻辑1,实际上使376以32位模式工作。分页被启动以允许虚拟386操作。
A/V控制器/协处理器32从系统总线31产生三条附加的通用I/O译码线(GPIO1,GPIO2,GPIO3),每条线提供一个32位I/O地址范围。可以使用通用译码器来提供低电平有效使能信号到A/V控制器/协处理器32之外的设备中。在数据处理单元12里,使用通用译码器来把地址范围译码到I/O协处理器36(GPIO1),和两个盒式存储器连接器(GPIO2和GPIO3)。下文将讨论A/V控制器/协处理器的其余电路。
系统存储器33由屏幕RAM,系统RAM和自举ROM组成(全都未示出)。板上的屏幕RAM和系统RAM是一兆字节的32位DRAM。合适的DRAM是用一对由东芝生产的256干字节乘以16位的TCS1470BJ存储器芯片配置成32位存储器。CPU30的地址空间的一部分被译码到A/V控制器/协处理器32中的多个8位寄存器。所有的内部位置都是在偶数地址边界上;可以在适当的地方进行字宽I/O读写。在此特定实施例中,不允许在字宽寄存器上执行字节宽的写,而且不能使用I/O周期来访问奇数地址。
自举ROM总是16位宽。自举ROM由两块27C512可擦除可编程只读存储器组成,它可由许多厂家生产,因而共有128K自举ROM。紧跟一个复位,从F20000H到FFFFFFH的一个一兆字节窗口在16兆字节地址范围中被重复,该窗口包含了ROM和内部存储器。
系统存储器33由多个设备共享。A/V控制器/协处理器32是系统存储器33的仲裁器;因此,系统总线31被A/V控制器/协处理器32修改成一个副系统总线34(包括一个副数据总线,一个副地址总线和一个副控制总线,全部未示出)。这样,系统存储器33是通过副系统总线34被访问的。
I/O协处理器36把CPU30连接到多个输入设备,例如输入设备18和可选的设备如键盘(未示出),控制器(未示出),鼠标器(未示出),以及打印机(未示出)。在该较佳实施例中,I/O协处理器36是由摩托罗拉公司生产的预编程的MC68HC705C8(此后称为“68HC705”),它运行在2MHZ。68HC705I/O协处理器36通过把68HC705配置成一个外部设备来与CPU30连接:(1)PA0-PA7接到数据总线的D0-D7(2)PB7、PB1和PB2分别接到控制和地址总线的GPIO1(由A/V控制器/协处理器32译码的一个32位地址范围)、A1和A2;(3)PB3,PB4和PB5分别接到控制总线的ADS,READY,和W/R。I/O协处理器36被A/V控制器/协处理器译码为具有I/O空间中的四个16位地址(此处指称为AS0,AS2,AS4和AS6)。
68HC705中的程序以如下方式连接到CPU30。68HC705设计为直接挂到处理器总线上,并表现为CPU30的一个I/O接口。一对内部锁存器保持在各个处理器之间传送的数据直到另一个准备好接收。每个处理器的状态位指示出数据锁存器的状态。每个处理器都能通过检查状态位以得知前次数据是否已被读出以及是否有新数据待读。
I/O协处理器36尤其实现下述功能:(1)一个50毫秒定时器,(2)一个从输入设备接收通讯包的串行控制器链路,(3)一个盒式存储器/扩展传感器,用于确定在每一个盒式存储器连接器中是否有一个盒式存储器14,以及在扩展连接器中是否有一个扩展设备或者CD驱动器,(4)一个系统复位,和(5)一个I2C非易失性RAM(NVRAM)接口。I/O协处理器36还实现了一个可选的DSA密致盘控制串行链路以允许与可选的CD设备的通信。
50毫秒定时器是通过把68HC705I/O协处理器36的监视定时器配置成每到50毫秒间隔就到时来实现的。每次监视定时器到时,I/O协处理器36就使用A/V控制器/协处理器32的模拟中断0来中断CPU30(响应I/O协处理把AI0拉至低电平,A/V控制器/协处理器通过IRQ线来中断CPU)。CPU通过把字节0F0H或者字节00H写入I/O端口AS0来分别启动及禁止该50毫秒定时器。该定时器缺省状态是启动。
在CPU的中断确认周期中,A/V控制器/协处理器确定中断服务例程的地址。中断服务例程使CPU30从相应于I/O协处理器的16位I/O端口AS0读取一个或多个字节。在每一次读取I/O端口AS0时,A/V控制器/协处理器32选择I/O协处理器36,因而允许数据在CPU30和I/O协处理器之间传输。
响应50毫秒中断,I/O协处理器36总会有一个字节传输到CPU。该字节的低半字节包含了自上次中断确认周期以来的50毫秒到时的次数;高半字节包含要传送到CPU的I/O设备消息的数目。如果50毫秒定时器被禁止,该字节的低半字节将为0。如果收到的消息已超过15个,那么15被送到高半字节而余下的消息等下次传输时再发送。根据此第一字节的内容,CPU可能会从I/O协处理器36读取随后的字节,后者在多数情况下会是从输入设备来的数据包。一般地,输入设备仅会在其各自的状态改变时才会发消息,因而使消息传送频率非常低。
输入设备18和所有其它输入设备都通过串行数据链路22接到I/O协处理器36。各自的输入设备(比如输入设备18)把控制设备的运动转换成适于沿着串行链路22传输的格式。输入设备18把数据包沿着串行链路22发送到系统单元12。正如下文所述,数据包的结构随输入设备的类型而不同。坐标型设备(鼠标器,模拟游戏棒,触摸板等)的数据包结构与开关闭合型设备(键盘,数字游戏棒,开关盘等)的不同。
串行控制器链路22包含三条线:一条数据接收线,一条VCC(+5伏直流电)线,和一条地线。68HC705使用68HC705的PD0/RDI引脚来实现控制器串行链路的数据接收线。该引脚用众所周知的异步格式设计为与串行设备的接口。串行传输有如下格式:每秒4800位,无校验,8个数据位和一个停止位。一种时钟同步格式可用作替代。串行控制器链路22通过本技术中众所周知的一个六导线小引脚插头连接器(six-conductor mini-din plug connector)(未示出)接到外部设备。输入设备是菊花链式的,这样只有一个设备物理地接到数据处理单元12。例如,如果一个所谓鼠标指点设备被增加到系统10中,鼠标被接到输入设备18,后者又接到处理单元12。
盒式存储器传感与扩展传感是用来确定在每一个盒式存储器连接器中或扩展连接器中是否存在一个盒式存储器14的,它是通过令I/O协处理器36查询盒式存储器连接器28的一个引脚来实现的。该脚被系统板上的一个适当的上拉电阻(未示出)拉至逻辑1,一个正确连接的盒式存储器把该脚拉至逻辑0。这样,每个盒式存储器传感的一个1表明不存在一个盒式存储器14而一个0则表明存在一个盒式存储器14。类似地,扩展传感的一个1表明不存在一个扩展设备,例如一个可选的CD驱动器,而一个0表明存在一个扩展设备。
复位是这样实现的:赋予I/O协处理器对A/V控制器/协处理器的复位信号的控制,后者接着控制了CPU30的复位信号。CPU30可以通过命令I/O协处理器36复位A/V控制器/协处理器,接着后者又复位CPU30这样来复位系统10。CPU通过把字节0FFH写入I/O端口AS0来使I/O协处理器产生一个系统复位。另外,I/O协处理器36监视可选的系统复位开关(未示出)并且当它检测到一次开关闭合时便使系统复位。
最后,I/O协处理器实现读、写以及检验512字节非易失性系统RAM的内容的一个I2C非易失性RAM(NVRAM)接口。NVRAM(未示出)由菲力普半导体公司生产的PCF8594构成,它通过I2C接口与I/O协处理器电路连通。可以级联多个PCF8594来提供更多的NVRAM能力。为了访问NVRAM,需要使用一个三字节序列。所有三个字节都通过I/O端口AS0来访问。由CPU写入I/O协处理器的第一字节表明传输是读还是写并且给I/O协处理器一个段地址。这一字节的低半字节表明传输类型:01H表明在NVRAM写入而02H表明从NVRAM读出。这一字节的高半字节是一个4位段号,对应于NVRAM的一个256字节段。对512字节的NVRAM,只使用底端两个段(0和1)。下一字节对于读和写是相同的—下一字节是CPU写入,是在段内被访问的字节的地址。最后一个字节或者由CPU写入I/O协处理器或者由CPU从I/O协处理器读出,它是从NVRAM读出或向它写入的数据字节。
作为替代,I/O协处理器可用其它方法实现。例如,一个三态可读移位寄存器可能适于从串行数据链路22接收信息。在这种情况下,CPU30周期性地读移位寄存器来访问从输入设备来的数据包。
第一译码芯片(未示出)与CPU30、A/V控制器/协处理器32以及两个盒式存储器连接器(另一个未示出)电路连通。第一译码芯片接纳系统总线31的高端两条地址线作为输入,把80376 CPU30的16兆字节地址空间译码成四个4兆字节区域,后者由三条芯片选择线代表:两条用于盒式存储器连接器28(另一个未示出),一条用于A/V控制器/协处理器32。高端四兆字节和低端四兆字节被译码到A/V控制器/协处理器芯片选择,其余两个四兆字节区域被译码到两个盒式存储器连接器芯片选择。
第二译码芯片(未示出)是用来实现扩展连接器39的芯片选择的,第二译码芯片沿副系统总线34与A/V控制器/协处理器和扩展连接器39电路连通。第二译码芯片允许A/V控制器/协处理器32来对从F20000H开始的128K的系统ROM块译码。从F40000H到FFFFFFH的范围由第二译码芯片译码,为扩展连接器39所用。由第二译码芯片译码的这一ROM块被用来通过扩展连接器39来为系统10增加ROM。
数据处理单元12还有一对盒式存储器连接器(一个由28表示,另一个未示出)用来放置一个盒式存储器14与CPU30和其它系统部件电路连通。盒式存储器14通过一个镀金62引脚(两排各31导线)边缘接插件26接到数据处理单元12的连接器28上。处理器单元12有两个盒式存储器连接器28来接纳边缘接插件26的边缘接插。盒式存储器14有镀金的边缘接插以对应于连接器28的导线,使盒式存储器14可插入地连接到处理器单元12。下列信号是通过连接器28(另一个未示出)与外部设备通信的:系统总线31信号,一条盒式存储器传感线,电源,地,模拟中断1或2(每个盒式存储器有唯一的中断),GPIO2或3(每个盒式存储器有唯一的片选),一条锁定线(它是80376和80386SX系统总线31的一个典型信号),以及由第一译码芯片产生的一个盒式存储器选择信号。作为替代,接到一个可选的CD驱动器所需的信号也可以通过盒式存储器连接器28接到外部设备。
另外,处理器单元12还有一个112脚(两排各56脚)边缘卡扩展连接器39。扩展连接器39允许为系统存储器33增加更多的存储器以及增加多种其它特点。连接到扩展连接器39上的设备有镀金的卡边缘以对应于扩展连接器,使得设备可插入地接到处理器单元12上。下列信号是通过扩展连接器39与外部设备通信的:副系统总线信号,一条扩展连接器39传感线,电源,地,CAS和RAS线,一个扩展连接器39选择信号(它是由第二译码芯片产生的)。
程序盒式存储器14由一个程序ROM40和一个译码器42组成。作为替代,译码器42可以设计在处理器单元12之内。程序ROM40包含只读存储器格式的适于在CPU30上运行的代码。作为替代,其它类型的存储器,例如有后备电池的RAM,也可以用作盒式存储器14中的存储设备。如图1A所示,程序ROM40与CPU30电路连通。
盒式存储器14内部的地址译码器42把全部宽度的地址总线译码到适用于程序ROM40的存储器范围,并产生ROM40所需的一个片选信号44,这在本技术中是众所周知的。地址译码器42是用一块16V8可编程阵列逻辑(PAL)来实现的,后者在本技术是众所周知的,并由许多厂家生产,例如AMD公司。如果译码器42是设计在处理器单元内部,那么选择44就通过连接器26与ROM 40电路连通。
现在参考图1B,显示出图1A中的附加电路38接到A/V控制器/协处理器32。附加电路38由4个设备组成、一个视频数-模转换器(视频DAC)50,一个NTSC/PAL(“PAL”指的是著名的欧洲电视信号标准)编码器52,一个RF调制器56,一个声频数-模转换器/模-数转换器/压缩器/解压缩器54(ADC/DAC/CODEC)。每一个都如图所示地连接。
声频/视频控制器/协处理器(A/V控制器/协处理器)32的电子电路大部分包含在一块大规模定制逻辑芯片中,称为一个ASIC(应用专用集成电路)。一个满足此处描述的A/V控制器/协处理器32可以从MSU公司买到(270 Upper 4th Street,Witan Gate West,Gentral Milton Keynes,MK9 IDP England)。A/V控制器/协处理器32包含一个处理器接口60,一个处理器高速缓存62,一个内存接口/刷新64,一个视频控制器66,一个中断控制器68,一个视频阻击器(blitter)70,一个可选的CD块译码器,一个数字信号处理器(DSP)74,以及一个DSP存储器76。处理器接口60,内存接口/刷新64和视频控制器66被合称为视频/存储器控制器67。系统存储器33,中央处理单元30,以及其它设备都位于A/V控制器/协处理器32的外面。
A/V控制器/协处理器32从系统总线31产生副系统总线34,因而把CPU30与系统存储器33分隔开。这样,副系统总线34把各种设备电连接到系统存储器33。副系统总线34由六种可能的总线主控设备所共享(依优先级从高到低的顺序,分别是):存储器刷新64,视频控制器66,一个可选的CD块译码器(未示出),DSP74,阻击器(blitter)70,以及CPU30(通过处理器接口60)。在同一时间只能有一个总线主控设备可以控制副系统总线34。视频/存储器控制器内部的仲裁器控制此处所述设备的优先级的改变,并与A/V控制器/协处理器32内部的所有设备电路连通。例如,CPU30在所有总线主控设备中的优先级最低,直到一个中断发生为止。这样,仲裁器既与CPU接口60,也与中断控制器68电路连通。
在为CPU预取指令意义上高速缓存62并非是一个高速缓存。实际上,高速缓存62是位于F14000H到F143FFH的一块512×16位的静态RAM,它被CPU用于变量,堆栈,或者程序代码以加速程序的执行。
视频/存储器控制器67(处理器接口60,存储器接口/刷新64,和视频控制器66)控制副系统总线34,并为接到副系统总线34上的存储器设备提供存储器定时信号(例如CAS,RAS,写使能等),这在本技术中是众所周知的。它在视频线期间将总线主控设备操作挂起一小段时间以便取视频显示数据,以及刷新动态RAM(DRAM)。它还控制与CPU30的接口。
视频控制器66有一个灵活的视频定时发生器,它可以被编程以适合于不同的电视标准和最高640×480的VGA标准的监视器。准确的视频格式是由设置A/V控制器/协处理器内部的不同的寄存器来控制的:水平周期,水平同步、水平消隐结束,水平消隐开始,水平显示开始,水平显示结束,水平取开始,水平取结束,水平垂直同步,垂直周期,垂直同步,垂直消隐结束,垂直消隐开始,垂直显示开始,垂直显示结束,视频中断,以及光笔寄存器。视频控制器66有三种可用的色彩分辨率:每象素4位,每像素8位,和每象素16位。屏幕的内存映象并不受限于视频显示宽度,而是独立定义。
视频/存储器控制器67把16兆字节的80376 CPU30的地址范围译码到下述内存映象:1兆字节系统存储器RAM(000000H-0FFFFFH),第一盒式存储器ROM的4兆字节(400000-7FFFFFH),第二盒式存储器ROM的4兆字节(800000H-BFFFFFH),用于A/V控制器/协处理器的64千字节内部存储器(F10000H-F1FFFFH),以及一块128千字节的系统ROM(FE0000H-FFFFFFH)。64千字节的内部存储器包括调色板RAM,阻击器(blitter)的寄存器,以及DSP的寄存器和存储器。调色板地址范围如前所述。阻击器(Blitter)的寄存器的范围是F10400H-F107FFH。DSP存储器的范围是F10800H-F18000H。
如果可选的CD驱动器被增加到系统中,下述区域被增至内存映象:另外1兆字节的系统RAM(100000H-1FFFFFH)和用于CD驱动器的128千字节(FC0000H-FDFFFFH)。
中断控制器68把六种中断连到CPU30:视频中断(最高优先级),模拟中断0(AI0),模拟中断1(AI1),模拟中断2(AI2),CD块译码器中断,以及DSP中断(最低优先级)。当CPU30在执行中断应答周期时,中断控制器自动清除中断。每一个中断都拥有一个屏敝位。
阻击器(Blitter)70是一个用于快速屏幕刷新和动画的图形处理器,用来作为CPU30或DSP74的一个硬件图形例程。它执行CPU30和DSP74写入存储器的指令。它可以通过从系统存储器33读取新的命令集来执行任意长度的图形操作序列。它通过阻击器(blitter)程序操作变成总线主控设备,因而可以在相当多的周期内独占副系统总线34。但是,它对于CPU30的优先权并非绝对;在发生一个中断时,它可以被要求放弃副系统总线34给CPU30。CPU30在系统级是优先级最低的总线主控设备;但是它拥有对其它硬件的完全的控制,因而对于副系统总线34的使用是在CPU30的程序的完全控制之下的。
阻击器(Blitter)有一个多功能比较器以便进行智能的阻击(blitting)操作,还有一个逻辑功能单元(LFU)以便产生输出数据。逻辑功能单元可以多种有用的方式对各数据寄存器的内容进行组合以产生输出数据;比较器可以执行对数据的某种比较以便禁止写操作,并可选择地停止阻击器(blitter)操作。
逻辑功能单元产生输出数据,后者被写入系统存储器33中的目的位置。它可以对源和目的寄存器的象素进行任何种逻辑组合。“源数据象素”可以从源数据寄存器或数据模式数据寄存器中选择。 LFU从来自数据寄存器的两组输入数据的四个布尔最小项(A&B,A&B,A&B,和A&B)中选择一个,并产生所选择的两个布尔最小项的逻辑或。这就允许输入数据的任何逻辑组合;于是存在16种可能的操作。
比较器可以对源、目的以及模式数据寄存器中的数据进行多种比较。如果比较条件满足,它便产生一个禁止信号。禁止信号是用来禁止一个写操作的,也可选择地可以停止阻击(blitting)操作。比较器还可以用来提供像素位面(pixes plane)效果,给出透明色彩,用于冲突检测和系统存储器33的查找操作,以及协助字符绘制。
DSP74是一个简单的非常高速的用于声音合成的处理器,工作在高达每秒33兆指令(MIPS)的速率。它通过一个DSP DMA控制器(未示出)访问副系统总线34,允许它将字或字节读出或写入系统存储器33。这些传输以短暂脉冲串方式进行,并在DSP程序的控制之下。DSP74实际上执行的是它自己的私有高速存储器76中的程序,并把数据存在那里。
DSP74声音协处理器是一个通用的算术协处理器,它有足够的能力来实现高性能的音乐合成。它提供同步串行输出,用于产生16位精度的立体声声音信号,达到通常密致盘技术所具有的声音质量。DSP74可由主机CPU30进行微编程,其指令集充分灵活,使得用户可以对设备编程以实现很多与“音乐合成器”大不相同的功能。这些应用可以包括算术语音生成,使用快速傅立叶变换进行音频分析,以及三维图形旋转。DSP74使用哈佛体系结构(Hanardarchitecture-分离的程序与数据总线)以达到最大的数据吞吐。DSP74有一个算术逻辑单元(ALU),其特点是具有16位乘以16位硬件乘/累加的硬件,以及加,减,和逻辑功能。还有一个分离的串行除法单元,它每个节拍产生一个商数位。
DSP74内部的ALU是一个16位算术逻辑部件,它与本技术众所周知的Texas Instrument的74181具有相同的功能。常见的算术操作被编码为指令;不常见的指令可用通用算术指令(GAI)直接设置ALU模式位来完成。
DSP74有一个DSP存储器76与之相联。DSP存储器76由程序RAM,数据RAM,一个寄存器/常数表,以及一个正弦ROM组成(全都未示出)。总体上说DSP存储器76既可以在DSP的内部地址空间也可以在系统存储器33的地址空间中访问。DSP程序RAM是512个18位字。这些位置只可以由CPU30写入,对于DSP74来说是程序只读的。程序RAM不出现在DSP的内部地址空间。当DSP74运行时程序RAM不能被主机访问,但在DSP空闲时可以访问。
DSP74还有一个串行声频数-模转换器(DAC)接口。串行DAC接口允许DSP74既可以驱动一个同步串行(I2S或者类似的)DAC,也可以从一个同步串行数据源例如CD驱动器输入数据。
A/V控制器/协处理器的视频控制器66接到外部视频DAC50,后者把来自视频控制器66的18位象素信息78(红、绿、蓝各6位)转换成一个RGB信号80,这在本技术中是众所周知的。视频DAC 50的每一个色彩通道(R80a,G80b以及R80c)都是通过一个R2R电阻树和一个2N2222晶体管实现的,如图1C所示。图1C中的设备是如图所示地电路连通的。图1C中的电阻86a-86j全都是0.25瓦的电阻,其值如图所示,容差在5%之内。晶体管88是一个2N2222。
再次参考图1B,RGB信号80由一个NTSC/PAL编码器52转换成一个NTSC复合视频信号90。NTSC/PAL编码器52接受色彩时钟92,HSYNC和VSYNC信号94—它们是由A/V控制器/协处理器32的视频控制器66产生的,以及红色80a、绿色80b、蓝色80c视频输出—这些是由视频DAC50产生的,然后以著名的NTSC格式或基带视频格式产生一个复合视频信号90。作为替代,也可以产生著名的PAL(欧洲电视信号标准)格式。复合视频信号90通过一个凹型RCA型声音插座(未示出)接到外部设备,这在本技术中众所周知。在该较佳实施例中,NTSC/PAL编码器52是一个索尼公司产的CXA1145。作为替代,也可以使用摩托罗拉公司生产的MC1377。
声频ADC/DAC/CODEC 54使用一条符合著名的菲力普I2S协议的串行链路96来链接到DSP74。ADC/DAC/CODEC 54把模拟数据转换成数字数据,或者反过来,并且对数字数据压缩和解压缩。A DC/DAC/CODEC 54把来自可选的麦克风的外部立体声模拟数据97a-97b送到A/V控制器/协处理器32。声频输入97a-97b使用一个标准立体声1/4″连接器接到外部设备。声频ADC/DAC/CODEC 54还把来自A/V控制器/协处理器的数字数据通过产生左、右声频线输出信号98a-98b送到外部设备,例如可选的扬声器(未示出),它有两个凹型RCA插座,这在本技术中众所周知。如下所述,声频线信号98a-98b还被加进RF视频信号22中。
在该较佳实施例中,ADC/DAC/CODEC 54是一个由CrystalSemiconductor生产的CS4216。这一部件包含带可编程增益的麦克风输入,以及带可编程衰减的输出。增益和衰减均由DSP74可编程地控制。
作为替代,ADC/DAC/CODEC 54可由菲力普生产的TDA1311 DAC代替。如果使用这种芯片,就得不到ADC和CODEC功能。
RF调制器56把来自NTSC/PAL编码器52的复合视频信号90与来自声频ADC/DAC/CODEC 54的左右声频线输出信号98a和98b合并到一个载波频率,以产生适合于直接输入到电视机16的RF视频信号22。为了产生不同的PAL(欧洲电视信号标准)和NTSC格式,必须使用一个不同的RF调制器和晶体。RF视频信号22使用一个凹形F同轴连接器接到外部设备,这在本技术中众所周知。
现在参考图2A-2M和图3,示出了本发明的输入设备18的一个实施例。如图所示,输入设备18由装在同一个壳100里的一个触摸板19和两只游戏棒20a和20b构成。壳100是用ABS-T(丙烯腈-丁二烯-苯乙烯三元共聚物,即ABS grade T,可从Wong′sElectronics Co.Ltd.公司(Wong′s Industrial Centre,180 Wai YipStreet,Kwun Tong,Kowloon,Hong Kong)买到)做的。输入设备18接受模板覆盖102,每个模板覆盖都是由一个本体104,一个接头106,和位于底部的一条边上的一个识别模式108组成。模板覆盖102是由一种薄材料做成,例如铜板纸,涂层纸板,或者聚酯胶片。一种合适的聚酯胶片是杜邦公司(Du Pont)生产的很容易得到的“Mylar”牌商标的产品。本体104有一幅图形图像刻在里面或者上面;这就是说,图形图案被写,印,漆,雕刻,蚀刻,丝网印刷,或者以其它方法永久性的固定在覆盖体104的上面或里面。接头106从本体104伸出,用来扣住模板覆盖102。识别模式108将在下文结合图2G-2K来描述。
触摸板19有一块板面110,露在外面以便用手指、铁笔21或者类似的东西接触。板面里面或上面刻有一幅缺省模板图形图案;就是说,缺省模板图形图象被永久性地写、印、漆、雕刻、蚀刻、丝网印刷或以其它的方法固定在板面110上或里面。
如图2A所示,刻在板面110里或上面的缺省模板图形图案所支持的功能如下:“enter(进入)”,“exit(退出)”,“pause(暂停)”,“previous(上一个)”,“next(下一个)”,以及箭头键(上、下、左、右)。作为替代,可用“select(选择)”代替“enter(进)”,用“cancel(取消)”代替“exit”。作为另一种替代,可以绘出十个矩形区域-每一个表示为一个阿拉伯数字。作为又一种替代,也可将每个英文字母映射到触摸板的一个区域。作为又一种替代,可以把一个QWERTY键盘映射到板面110上。确实,实际上可以选择任何模式,或者模式与符号的组合。应该选择缺省模板图形图象使得它适用于大量的用在系统10上的应用程序。
输入设备18包含两种形式的夹持器以固定模板覆盖102贴紧板面110:(1)一个凸唇112,它由三个直唇部分112a-c组成,形成一个大体呈U型的槽,从三面固定模板覆盖102;(2)一对隆起116a和116b,它们在第四边固定模板覆盖102。凸唇112、槽114,和隆起116a,116b在图2C,2D,2E中详细示出,并在伴随这些图的文字中加以描述。
一个用于拿住输入设备18的手柄118和一个用来放置铁笔21的圆孔120也在图2A中示出。
现在参考图2B,显示了输入设备18有一个模板覆盖102紧贴在板面110上的一个顶视图。如图所示,覆盖102的本体104的三个边插在三个凸唇112a-112c的下面。固定覆盖102的本体104的第四条边的隆起116a和116b也显示在图中,在覆盖104的接头106的两边各有一个。覆盖102是这样被插入的:把覆盖102的本体104左手边及右手边插到凸唇部分112a和112c的下边,把覆盖102向下滑动,直到覆盖102的本体104的底边位于另一凸唇112b部分的下面。最后放开模板102,接头106被夹在隆起116a和116b之间,后者固定了覆盖的顶边。
图2C,2D和2E显示了隆起116a、116b和覆盖102的细节。图2D显示了接头106延伸到隆起116b的外边。图2E显示了覆盖102的本体104紧靠隆起116b。
覆盖102是这样移去的:用拇指和食指捏住接头106,抬起覆盖102的本体104到隆起116a,116b以上,这样使覆盖102可以从U形唇112之下越过隆起116a和116b而滑出。
图2F显示了从三面固定覆盖102的槽114。该图中还示出了触摸板传感器122,一个覆盖传感器124,一个用来放置多个模板覆盖102的空腔126,以及一个充分刚性的基座127,它用与壳100相同的材料制成,提供一个充分的阻力,使得对传感器122的接触能被检测到。
触摸板传感器122的位置紧贴所述板面110,它是这样配置的:使得手指、铁笔或类似物体对板面110上面或附近施加的压力能够让传感器122检测到所触的位置。
触摸板传感器102可以是许多类型中的一种,例如基于阻抗的传感器,声学传感器,和开关闭合型传感器。其实例包括薄膜开关矩阵,(例如授予Florella的美国专利第4,736,190号所公开的设备),和高分辨率开关,闭合型传感器(例如授予Ito等人的美国专利第4,529,959号所公开的设备)。一种合适的传感器102可以从Wong′sElectronics Co.LTD(Wang′s Industrial Centre,180 Wai Yip Street,Kwun Tong,Kowloon,Hong Kong)买到,即部件号PR39983。
传感器122至少产生一个电信号来响应铁笔21、手指或类似物体对板面110的接触或者对紧贴板面110的模板覆盖的接触。例如:开关闭合型传感器一般需要一定数量的驱动器来顺序地驱动一个轴上的许多条线以及一定数量的接收器以检测另一个轴上的许多条线中的哪一条正在传导由驱动器驱动的信号。知道了哪个接收器检测出了哪个驱动器产生的信号使得可以确定造成开关闭合的触摸的位置。
覆盖传感器124是一个相应覆盖102上的识别模式108而产生一个电信号的传感器。这样触摸板19的覆盖传感器124和覆盖模板102的识别模式108必须在位置上和设备技术上都相一致。一个合适的覆盖传感器124是一排六个光电发射器/接收器,每一个都有一个有一定角度的发射器和一个有一定角度的接收器,它们在本技术中众所周知,并可以从Wang′s Electronics Co.LTD买到,即部件号PR39990。
如图2G所示,覆盖传感器124通过壳100上的六个孔128a-128f与识别模式108光学耦合。在每一个孔128下面是一个光电发射器/接收器对(未示出)。在另一个实施例中(未示出),覆盖传感器124的六个发射器/接收器对和六个孔128a-128f可以被分成两组,每组三个,每组分别放在触摸板传感器122的两边。这就是说,三个孔128a-128c(以及它们的相关的发射器/接收器对)可以位于一个凸唇部分112a的下边,而另外三个孔128d-128f(以及它们的相关的发射器/接收器对)可以位于另一个凸唇部分112c的下面。
图2H-2K显示了识别模式108的几个例子。识别模式108位于模板覆盖102的一条边上。有六个独立的记号—每个对应于一个覆盖传感器124的一个独立的发射器/接收器对。当覆盖102在位时,识别模式108与传感器124对齐。如果使用上面描述的、传感器有两组各三个孔的替代实施例,那么识别模式108必须同样地分成两组各三个,并把两组分别置于触摸板传感器122的两边。
使用光电发射器/接收器对作为传感器124使得可以在模板覆盖102里设计非常简单的识别模式108。如果制造覆盖的材料是白色的,那么在覆盖背面的涂有黑墨或颜料的区域可以用来作为识别模式的一种形式,而没有黑墨的区域可用作另一种形式。
图2H-2K中显示了几种不同的识别模式的可能组合。图2H到2K显示的识别模式108分别对应于二进制模式0100012,0111102,0000002,1111112。这样,识别模式看起来是沿着模板覆盖102的边缘分布的一组明暗区域。模式0000002只是为了说明的目的而示出的。在实际应用中,所有的0000002的全白的模式都不可能被使用,因为这种模式对应于任何模板覆盖都不存在,在这种情况下会使用缺省的模板图案。
图2L是本发明的输入设备18的一个前部正视图,它示出了把游戏棒20a、20b分别置于触摸板19的两侧。如本图所示,游戏棒20a和20b各有一个瞬时按钮开关130a、103b分别固定在它们各自的端部。图2L还显示了开向空腔126的矩形孔132,空腔126是用来容纳多个模板覆盖的。
图2M是沿由图2A中的线2M-2M所标明的平面所截的部分剖面图,它示出了用于本发明的输入设备的游戏棒的细节。游戏棒20a和20b的细节在图2M中被重复示出。另外,图2M的细节是90°旋转对称的;这样,虽然许多结构中的两个显示在该图中,实际上在这一特定实施例中使用了四个同样的结构。游戏棒20a固定在一个棒134上,后者穿过一个孔136伸进壳100所定义的空间。棒134止于一个支点138,后者在开关底座140上转动。开关底座140是通过在几个固定器144a-144d的四个螺丝142a-142d固定在壳100上的,支座是物理地附在壳100上的。孔136是由一个环形封圈146封住的,封圈的环整齐地围住棒134,封圈的外缘通过普通的方法在孔内物理地附在壳100上。
游戏棒20a关于支点做14度的自由运动;就是说,棒134可以实际上向各个方向偏移垂直于由开关底座140定义的平面的方向七度。棒134有四条传动臂150a-150d物理地附在上面。传动臂148的位置紧贴四个橡皮圆顶瞬时开关按钮150a-150d,后者物理地附在开关底座140上。臂148和开关150是这样配置,使得当游戏棒偏离垂直位置时,一个或多个臂148产生与它们相连的开关的一次闭合事件。这样,游戏棒20a的运动就被开关150的闭合事件检测到了。作为替代,游戏棒20a,20b可以用其它结构实现,例如基于电位计的系统,这在本技术中众所周知。
现在参考图3,它示出了输入设备18内部电路的方框图。输入设备18包含触摸板传感器122,覆盖传感器124,游戏棒传感器200a,200b,坐标确定电路202,覆盖检测电路204,一个100毫秒定时器208,以及接口电路210,所有设备都如图3所示电路连通。
坐标传感器122和覆盖传感器124如上面结合图2的文字所描述。坐标确定电路202与坐标传感器122,接口电路210,和100毫秒定时器208电路连通。坐标确定电路202设置为接受来自坐标传感器122的电信号203并确定对应于手指、铁笔21或类似物体所触位置的X轴和Y轴的值。例如,如果坐标传感器122是一个开关型传感器,那么坐标确定电路202将包含驱动器和接收器来确定哪个开关闭合了,这在本技术中众所周知,并包含把那个开关的位置翻译成相对于板面110的一个有意义的值的逻辑。
覆盖检测电路204与覆盖传感器124和接口电路210电路连通。覆盖检测电路204接收来自覆盖传感器124的电信号205并产生一个相应于识别模式108的消息,或者相应于没有识别模式的消息,即如上所述检测到0000002
方向确定电路206与游戏棒传感器200a,200b和接口电路210电路连通。游戏棒传感器200a,200b包含四个橡皮圆顶开关150a-150d和两个游戏棒开关130a,130b,如前所述。方向确定电路产生一个基于这些开关的闭合事件的消息。
100毫秒定时器208与坐标确定电路电路连通。定时器208反复确定100毫秒时间周期的到时并产生一个信号209来指示该时间周期的到时。坐标确定电路202使用该信号209来检测在由定时器116检测到的100毫秒到时信号之间,手指、铁笔21或类似物体所触位置的改变。
接口电路210与坐标确定电路202,覆盖检测电路204,数据处理单元12(通过串行数据链路22),以及(如果有的话)其它输入设备,通过串行数据链路扩展23电路连接。接口电路210接受由坐标确定电路202确定的坐标值,由覆盖检测电路204产生的覆盖消息,以及由方向确定电路206产生的消息,并把任何这样的消息通过串行数据链路22发送给数据处理单元12。
所有的输入设备都与处理单元12成菊花形链接。这样,接口电路必须传递来自其它输入设备的信息包到CPU 30。下面将会详细解释,每一个接到处理单元12的输入设备都有一个唯一的设备号。离处理单元12最近的设备的设备号是0,一个设备离处理单元12越远,它的设备号就越高。但是,输入设备并不知道它们自己的或其它设备的设备号。这样,每个设备必须给来自同类型其它设备的数据包的设备号加1。在链中任何设备号大于15的设备都被忽略。
例如,假设有三个同样类型的输入设备α、β、γ,它们是这样接到处理单元12的:α接到处理单元12,β接到α,γ接到β。因此,α的设备号是0,β的设备号是1,γ的设备号是2。其它设备并不知道它们自己的或者其它设备的设备号。每个设备都用设备号0发送自己的数据包。
当α把一个数据包传送给处理单元12时,缺省设备号0是正确的,因为α是最接近处理单元12的。但是,β和γ同样用设备号0发送数据包。为了解决这个问题,每个设备给通过它传递的数据包的设备号加1。这样,当β把一个来自γ的数据包传给α时,β给设备号加1,这样来自γ的包设备号就是1。同样,当α把来自γ的数据包传送给处理单元12时,α给其设备号加1,因而给了来自γ的包一个正确的设备号2。这样,链中的每一个设备给来自同类型的其它设备的每一个数据包的设备号加1,并把它传给下一个设备。
因此,除了传递从其它输入设备收到的数据包之外(如果有的话),接口电路210还给通过串行数据线扩展23收到的来自其它同类型设备的任何数据包的设备号加1。接口电路210把带有修改过和没修改过的设备号的数据包传递给数据处理单元12。
具有本发明的输入设备18的系统10非常易于使用。输入设备通过串行链路22发送数据包给数据处理单元12。如前面所提到的,输入设备通过I/O协处理器36与CPU30相连。每个输入设备与下一个输入设备成菊花形链接。I/O协处理器36以先入先出(FIFO)方式接受数据包并存储它们。
每50毫秒“滴答”I/O协处理器中断一次CPU30。作为响应,CPU访问协处理器36的I/O端口AS0的一个字节以决定自上次CPU访问以来“滴答”的次数以及需要传输的设备消息的数目,如前所述。设备信息的十种类型如下表所示。
设备类型   字节0(计数)       字节1(设备ID) 字节2 字节3 字节4
(位4-7) (位0-3)
键盘(PS/2)     2     0     0 扫描码 不用 不用
鼠标器(PS/2)     4     1     0 鼠标字节1(按钮) 鼠标字节2(X数据) 鼠标字节3(Y数据)
开关闭合   1-255变量   链中设备号     1 按钮状态0:开;1:关 按钮状态(可选) 按钮状态(可选)
游戏棒(数字)     2   链中设备号     2 开关关/开代码 不用 不用
坐标(相对)     4   链中设备号     3 按钮状态 X增量 Y增量
坐标(绝对)     4   链中设备号     4 按钮状态 X坐标i. Y坐标
触摸板覆盖消息     2   链中设备号     5 覆盖代码(0-63) 不用 不用
动作消息   1-255变量   链中设备号     6 动作按钮数据 (可选) (可选)
系统穿过   1-255变量   链中设备号     14 字节0 字节1(可选) 字节2(可选)
初始化消息   Variable1-255变量   链中设备号     15 设备类型(ID) 厂商代码字节0 厂商代码字节1(可选)
从表中可以看出,消息结构长度不同并且其结构与所对应的设备类型密切相关。对于从各个I/O设备发往I/O协处理器的数据和由I/O协处理器发往CPU的数据来说,表中的设备消息是相同的。除了上表所示的结构之外,从I/O设备发往I/O协处理器的每一条消息都有一个校验和,以保证从输入设备18发往处理器单元12的数据正确无误。校验和是一个标准的模256校验和,其中校验值是把所有字节相加的和为0所需的值(相加时忽略进位)。I/O协处理器先去掉该校验和然后把数据发往CPU。因此,CPU读出的字节流实际上与I/O协处理器收到的字节流是相同的,只有下列例外:(1)CPU读出的第一个字节是一个特殊字节,包含滴答数及I/O消息的数目;(2)丢失了校验和。
PS/2鼠标器和键盘作为0型设备被支持。键盘的链号为0,鼠标器的链号为1。这些设备由I/O协处理器使用现有的PS/2协议通过串行数据链路来支持。
设备类型1是用于有多个按钮的设备的。最多到255个字节(每字节8个按钮)或者说2040个按钮可以用这种消息类型输入到系统中。开的按钮作为逻辑0发送而合的按钮作为逻辑1来发送。这是一个可变长度消息。
数字游戏棒,例如游戏棒20a和20b,作为2型设备被支持。每一个触摸板19有两个游戏棒与之相联。每一个游戏棒有一个唯一的链号。每个左游戏棒的链号是奇数(1,3,5,7,9等),而每个右游戏棒是偶数(0,2,4,6,8等)。每一个游戏棒独立地报告。该消息是一个定长消息。回忆一下数字游戏棒传感器包含一定数目的开关150a-150d。该消息是一个最多代表8个开关的字节,它包含了运动传感器开关150a-150d和数据输入开关,例如开关130a。这一类型的消息字节的各个位分别代表:向上开关(最高位),向下开关,向左开关,向右开关,开关#1,开关#2,开关#3,和开关#4(最低位)。触摸板19所带的游戏棒20a和20b只有一个按钮130,它对应于上述开关#1。其它三个按钮永远报告为0。
坐标型设备例如鼠标器和跟踪球作为3型设备报告。紧跟ID的第一字节报告设备的任何按钮信息。最多可报告8个按钮。下一字节是X增量值,再后是Y增量值。X和Y的增量值是基于上次报告的设备位置的。如果需要,应用程序必须把这些值转换为绝对坐标。最大运动为255。如果实际运动超过255,则将发送两个或更多的消息。这是一个定长消息。
触摸板19作为4型设备被支持。这一类型的其它设备包括模拟游戏棒。紧跟ID的第一字节是用来报告按钮信息。而下一字节是用于报告绝对X位置的。依次而后的是绝对Y位置。绝对X值和Y值都是1个字节并且限制在0-255范围内。这是一个定长消息。
触摸板覆盖102是作为5型设备报告的。触摸板覆盖是使用触摸板上的6位传感器124检测的。当触摸板测到一个覆盖的改变时,便产生一个消息。所有的覆盖代码都依赖于应用程序,应用程序必须认识每个覆盖的代码。这是一个定长消息。
动作消息是用来定义预定义的独立于设备的功能的公用集合的。这些功能可以由多种类型设备以不同方式产生,但是由系统和应用程序以同样方式使用和翻译。动作消息作为6型设备使用一个变长消息来报告。在此特定实施例中,定义了三种独立于设备的功能,并分别与该字节的低三位相关联:START(开始—开始一个活动或进程)PAUSE(暂停—暂停一个活动或进程),SELECT(选择—选择多种事件或动作中的一个)。设置相应位以报告这些功能。所有的其它位都被保留以备将来之用,并且向CPU报告为0。
系统穿过消息类型是用来处理不适用于任何一个前面定义的设备类型的设备类型的。它使用消息类型14。这是一个变长消息。对其数据的定义是依赖于设备的,并且是应用程序专用的。每个应用程序必须把这一类型的消息翻译成所需的功能。
来自每一个设备的第一条消息是15型设备。它用来告诉系统一个设备将要发送输入消息了。该消息还定义了将被用来报告输入的未来的设备类型。这是一个变长消息。
在系统加电和50毫秒间隙时I/O协处理器察看盒式存储器和扩展传感线以确定配置,并提醒系统,还发送一个配置字节给CPU。这是在系统加电时CPU从I/O协处理器收到的第一个字节。当检测到发生一个变化时,I/O协处理器只产生一个模块配置中断,盒式存储器状态的一个变化造成一次系统复位,因而造成I/O协处理器向CPU发出另一个配置字节。设置所发送字节的适当的位来指示相关项的存在:位0对应于盒式存储器1,位1对对应于盒式存储器2,位2对应于可选的CD驱动器。其它位被置为0。
另外,CPU能通过把信息沿着串行链路22写入I/O协处理器36来发送数据给I/O设备。写入I/O端口AS0的数据字节中每个字节前面都有字节03H。I/O协处理器把这些字节写入I/O设备。这种功能是用于发送数据给例如一个打印机的(未示出)。
与这种具有两个游戏棒和一个带有刻上的缺省模板图形映象的触摸板的本发明的输入设备的连接也是很简单的。来自系统BIOS并在CPU30上执行的一个中断服务程序通过I/O协处理器36从输入设备接收数据。中断服务器仅把来自I/O协处理器36的传送数据放进存储器33中。运行在CPU上的应用程序周期性地通过一个软件中断来查询操作系统BIOS以确定是否收到了输入。如果是,它们就响应于软件中断通过操作系统与应用程序通信。
应用程序监视当前的模板。如果检测到缺省的模板图形映象(覆盖传感器124会检测所有的发送型识别模式108,即0000002),那么应用程序相应于缺省模板操作。另一方面,如果检测到一个模板覆盖102,那么应用程序相应于该特定模板覆盖操作。
CPU30上运行一个对与触摸板的接口提供特殊支持的操作系统。操作系统或者从系统存储器33和ROM中装入,或者从盒式存储器ROM40中装入。该操作系统具有下列命令可以被执行在CPU30上的应用程序所调用:“define_a_region(定义一个区域)”,“set_mapping_units(设置映象单位)”,“clear_all_region(清除所有区域)”,以及“interpret_a_point(翻译一个点)”。
“define_a_region”命令允许应用程序定义触摸板的一个区域并把该区域与某一个区域标识符(″region_id″)相联系。该被接触的定义区域内的任何一点都用这个region_id标识。在一个实施例中,在初始化后,整个触摸板被定义为一个无效区域(null region),它具有一个无效区域标识符(″null_id″)。就是说,任何null_id位置被触都不会导致操作系统执行任何任务或功能,即没有参数传给应用程序。作为替代,触摸一个无效区域可以触发一个错误处理例程,后者可能比如让系统用发声或“蜂鸣”的方法指示用户触了一个无效区域。″define_a_region″命令把所选形状的区域赋予其它region_id的区域。
实际上任何形状或形状的组合都可以用″define_a_region″命令来定义:圆,矩形,三角形等。另外,多个形状可以合并形成一个复杂形状区域。例如,五个三角形可以和一个正五边形组合形成一个星形。另外,无效区域可以用″define_a_region″命令包括进来,这样允许定义空心形状,例如环。
″set_mapping_units″命令允许应用程序为″define_a_region″命令定义不同单位,因而允许操作系统支持不同分辨率的触摸板。例如,操作系统缺省为矩形设备分辨率单位,这是由行和列的分辨率(宽度和间距)确定的;通过使用″set_mapping_units″命令,应用程序可以使操作系统把单位改为比如毫米或百分之一英寸。另外,应用程序可以把单位设置为其它的值。例如,如果系统显示设备的分辨率为640象素×480象素,应用程序可以用″set_mapping_units″命令给触摸板单位赋予640×480相应于象素的单位。
″clear_all_regions″命令取消所有的以前用″define_a_region″命令定义的区域,实际上把整个触摸板定义为一个无效区域。当有一个新的模板覆盖放到触摸板面上时,应用程序调用该命令,于是清除了与前一个模板覆盖关联的所有定义区域(如果有的话)。在用″clear_all_region″命令清除了区域后,应用程序调用″define_a_region″命令定义新模板覆盖的区域。
″interpret_a_point″命令使得操作系统确定所触区域的region_id。如果是操作系统在监视触摸板的触摸,该命令由操作系统自己启动;如果是应用程序在监视触摸板的触摸,则该命令由应用程序启动。在一实施例中,应用程序查询操作系统看操作员是否触摸了一个触摸板区域。
每次触摸板被触,触摸板便发送设备专用坐标信息给CPU。″interpret_a_point″命令的一部分是由CPU确定所触区域。确定以后,操作系统向应用程序返回一个代码,后者或者是对应于所触区域的″region_id″,或者是指示没有区域被触的代码。
在操作系统中支持触摸板的计算机系统的使用十分简单。首先,一个应用程序定义触摸板区域并用″define_a_region″命令把区域与region_id相关联。每一个被定义的区域都必须用″define_a_region″命令定义;任何未定义的区域仍为具有null_id的无效区域。
随后对触摸板面的触摸或者由操作系统或者由应用程序检测,这取决于谁在监视触摸板。如果操作系统在监视触摸板,它检测触摸并自己启动″interpret_a_point″命令以确定所触区域的region_id。如果region_id是null_id,操作系统执行一个适当的动作,例如蜂鸣。在此情况下,它不会向应用程序传递任何参数。如果region_id不是null_id,操作系统把与所触区域关联的region_id传递给应用程序,由应用程序执行与所标识的region_id相关联的功能。如果应用程序在监视触摸板并检测触摸板的触摸,其过程是相同的,只有一点不同即应用程序导致操作系统启动″interpret_a_point″命令而不是操作系统自己启动之。
如果一个新的模板覆盖放在触摸板表面,应用程序便调用″clear_all_regions″命令,后者使操作系统再次清除所有定义区域并认定整个触摸板面为一个无效区域。应用程序再次调用″define_a_region″命令以使操作系统定义该模板的适当区域并在应用程序指导下给它们赋予region_id。
一个定义或映射所定义形状的区域的特定例子在图4描绘出来,它显示了一个被映射的触摸板。敏感区域的形状为(1)一个箭头,用196标出,(2)一个圆和一个环,由一个环形无效区域分开,总体用198标出。敏感区域各自由小的离散符号示出,下面将加以识别。在初始化后或执行″clear_all_regions″命令后,触摸板的所有敏感区域被赋予null_id,后者在图4中用符号“·”表示。这意味着如果一个“·”离所触位置最近,那个区域便被赋予null_id,操作系统如上文所述地响应。
为了创建被一个环形无效区域分开的圆和环,应用程序三次调用″define_a_region″命令。首先,应用程序调用命令″define_a_region″时参数为(circle,14,F,4,1)。“circle”指示要画的形状;“14,F”指示圆心坐标,“4”指示以当前单位表示的圆半径,这里的单位是矩形设备分辨率单位;“1”指示赋予此圆的region_id。这一命令创建了一个虚拟圆200,在图4中它围住了由圆200包围的52个敏感区。这52个敏感区的region_id都被赋予1,并在图4中用下列符号“⊙”、“·”和“○”指出。28个用“⊙”符号指出的敏感区的region_id仍被赋予1;其余的将被后面的“define_a_region”命令“重赋值”为其它的region_id。
其次,应用程序调用“define_a_region”命令时参数为(circle,14,F,3,0),其中“0”指示null_id作为region_id。它创建了一个虚拟圆202,它围住了由圆202包围的24个敏感区。这24个敏感区的region_id全都赋予0,并在图4中用下列符号指示:“·”和“○”。回忆一下这24个敏感区曾被前一个“define_a_region″命令赋予region_id为1。这样,这些region_id也可以认为是被“重赋值”为0。12个用“·”示出的敏感区的region_id将仍被赋予0;12个用“○”符号指出的敏感区将由第三个“define_a_region”命令“重赋值”为另一个region_id。12个用“·”符号指出的敏感区是无效区,如上所述。
最后,为完成这一用一环形无效区域分开的圆和环,最后一次调用命令“define_a_region”时参数为(circle,14,F,3,2)。该命令创建一个虚拟圆204,它围住了用“○”符号指示的12个点。这12个敏感区的region_id被赋予2。回忆一下这12个敏感区曾被第一个“define_a_region”命令赋予region_id为1,又曾被前一个“define_a_region”命令“重赋值”为null_id。这样,这些区的region_id也可以认为是被“重赋值”为2。
最终得到的复杂形状198是由一个环形无效区域210(region_id赋为0)分开的一个region_id赋予2的填充206和region_id赋为1的环208。填充圆206中的敏感区被用符号“○”表示。环208中的敏感区用符号“⊙”表示。环形无效区域210中的敏感区用符号“·”表示。
作为替代,“define_a_region”命令可以配置为直接支持一个环,这样复杂形状198可以用两个命令创建:一个圆和一个环。
创建箭头196需要两次调用“define_a_region”命令。第一次调用参数为(rectangle,6,C,9,I,3),其中“vectangle”指示形状,“6,C”指示矩形左下角,“9,I”指示矩形右上角,“3”指示region_id。这一命令创建一个虚拟矩形,它包围用符号“■”指示的敏感区。第二个“define_a_region”命令的参数为(triangle,1,F,6,A,6,K,3),其中“triangle”指示形状,“1,F”,“6,A”,“6,K”指示三个顶点,“3”指示region_id。这一命令创建一个虚拟的三角形,它围住用符号“▲”指示的敏感区。注意矩形212和三角形的region_id都赋予3;它们有相同的region_id。这样,这两个形状映射到同一功能并组成箭头196。正因如此,接触任何一个区域或两个区域都接触都使应用程序产生同样的反应。触摸板表面的其它敏感区,总体用215表示,其region_id仍被赋予null_id。这些敏感区用符号“·”指出。
显而易见,大量的复杂形状可以用这种方法形成。每一个形状有一个唯一的region_id或者一个或多个区域共享一个region_id。
在使用中,按压图4所示触摸板的映射区域会导致操作系统判断所触区的region_id。例如,如果按压了位置13,E(由216指出),所触位置的坐标通过串行链路22传给CPU,操作系统判断region_id 2被压,并把region_id 2传给应用程序,后者于是执行与region_id 2关联的功能。
另一方面,按压赋予null_id的区域不会造成操作系统把一个region_id传给应用程序。而是如上所述,操作系统或者什么也不做或者蜂鸣或者执行其它适当的动作。为了让应用程序检测接触一个“无效”区域,应用程序必须先调用“define_a_region”命令给整个触摸板表面赋予某一个region_id,并在制做空心区域时,给任何空心区域赋予那个region_id。
在上面的映射中术语“虚拟”被用来描述这些形状:圆200,圆202,圆204,矩形212,和三角形214。使用这个术语是因为敏感区域并不具有无限的分辨率。实际上,当使用由不同符号定义的术语“敏感区”时,该术语意思是表面上离那些符号最近的区;因此,任何定义的形状都将是映射出的敏感区的区域形状的近似。触摸板的分辨率越高,映射的敏感区就越接近于定义它们的虚拟形状。
虽然本发明是通过对它的实施例的描述加以说明的,虽然这些实施例被相当细致地描述,申请人的目的并不是要限制或以任何方式局限所附权利要求到如此的细节。其它的优点和修改对于这方面的技术人员来讲是显而易见的。因此,本发明在广义上并不局限于特定的细节,代表性设备和方法,以及所示和所述的说明例。因此,可以脱离这些细节而并不背离申请人的总体的创造性原理的精神或范围。

Claims (17)

1.一个计算机系统包含:
(a)一个中央处理单元CPU;
(b)与所述CPU电路连通的一个存储器;
(c)与所述CPU电路连通的一个外围接口电路,其特征在于能够把来自至少一个具有接触敏感的表面的外部触摸板的坐标型数据送到所述CPU;以及
(d)与所述CPU和所述外围接口单元相关联的触摸区域定义逻辑,后者配置为定义触摸板的一个区域并响应来自在所述CPU上执行的至少一个应用程序的输入而把该区域与一个区域标识符相关联。
2.权利要求1的计算机系统,其特征在于还包含与所述CPU关联的区域识别逻辑,后者配置为响应对触摸板表面的接触而确定坐标型设备的一个被触区域的区域标识符。
3.权利要求1的计算机系统,其特征在于所述区域定义逻辑的特征学在于能够定义触摸板表面的至少一个无效区域,该区域的特征在于对至少一个无效区域的接触不被传送给至少一个应用程序。
4.权利要求1的计算机系统,其特征在于还包含触摸板映射单位逻辑,后者配置为响应来自至少一个应用程序的输入而改变对所述区域定义例程的输入的单位。
5.权利要求1的计算机系统,其特征在于所述触摸区域定义逻辑包含与所述CPU电路连通的电路。
6.权利要求1的计算机系统,其特征在于所述触摸区域定义逻辑包含在所述CPU上执行的可执行代码。
7.权利要求1的计算机系统,其特征在于所述触摸区域定义逻辑配置为允许定义具有各种几何形状的区域。
8.权利要求1的计算机系统,其特征在于所述触摸区域定义逻辑配置为允许定义三角形,矩形,和圆形区域。
9.一个计算机系统包含
(a)一个中央处理单元(CPU);
(b)一个与所述CPU电路连通的存储器电路;
(c)与所述CPU和所述存储器电路连通的一个视频电路,用于产生一个相应于要在一个视频显示设备上显示的一个视觉图象的电信号;
(d)与所述CPU电路连通的一个外围接口电路,用来把来自外部设备的信号送到所述CPU;
(e)一块暴露的板面,以允许用手指、铁笔或类似物体接触之;
(f)一个用于可移动地把一个模板覆盖固定紧贴在所述板面上的夹持器;
(g)一个紧贴所述板面的坐标传感器,用于产生至少一个电信号,配置为使所述电信号的累积对应于铁笔、手指或类似物体对所述板面或对紧贴所述板面的模板覆盖的接触的位置的坐标;
(h)一个紧贴所述板面的刚性的基座;
(i)与所述坐标传感器电路连通的从标确定电路,用于确定铁笔、手指或类似物体对所述板面或对紧贴所述板面的模板覆盖的接触的位置的坐标;
(j)与所述坐标确定电路和所述外围接口电路电路连通的接口电路,用于向它传送所确定的坐标;以及
(k)与所述CPU和所述外围接口单元相关联的接触区域定义逻辑,配置为定义触摸板的一个区域并把该区域与一个区域标识符相关联,作为来自在所述CPU上执行的至少一个应用程序的输入的响应。
10.权利要求9的计算机系统,其特征在于还包含与所述CPU相关联的区域识别逻辑,后者配置为响应对触摸板表面的接触而确定该坐标型设备的一个触摸区域的区域标识符。
11.权利要求9的计算机系统,其特征在于所述区域定义逻辑的特征在于能够定义触摸板表面的至少一个无效区域,该区域的特征在于对至少一个无效区域的接触不被传送给至少一个应用程序。
12.权利要求9的计算机系统,其特征在于还包含触摸板映射单位逻辑,后者配置为响应来自至少一个应用程序的输入而改变对所述区域定义例程的输入的单位。
13.权利要求9的计算机系统,其特征在于所述触摸区域定义逻辑包含与所述CPU电路连通的电路。
14.权利要求9的计算机系统,其特征在于所述触摸区域定义逻辑包含用于在所述CPU上执行的可执行代码。
15.一种用于操作一个计算机系统的方法,该计算机系统包括一个中央处理单元(CPU)和一个与所述CPU电路连通并用于把一个不透明的具有一个触摸敏感表面的坐标型输入设备电连接到所述CPU的外围接口电路,该方法包括以下步骤:
(a)定义坐标型设备的至少一个区域并响应在CPU上执行的至少一个应用程序的输入而把该区域与一个区域标识符相关联;
(b)从外围接口电路获得坐标型数据;
(c)响应对表面的接触而确定坐标型设备的一个区域的区域标识符;以及
(d)把确定的区域标识符传送给至少一个应用程序。
16.权利要求15的方法,其特征在于,还包括以下步骤:
定义触摸板面的至少一个无效区域,该无效区域的特征在于对至少一个无效区域的接触不被传送给至少一个应用程序;和
不向至少一个应用程序传送对至少一个无效区域的接触。
17.权利要求15的方法,其特征在于,还包含以下步骤:
响应从至少一个应用程序的输入改变对所述区域定义例程的输入的单位。
CNB951020404A 1994-03-18 1995-02-17 在操作系统中支持触摸板的计算机系统 Expired - Lifetime CN1133916C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US210,610 1994-03-18
US08/210,610 US5613137A (en) 1994-03-18 1994-03-18 Computer system with touchpad support in operating system
US210610 1994-03-18

Publications (2)

Publication Number Publication Date
CN1139235A CN1139235A (zh) 1997-01-01
CN1133916C true CN1133916C (zh) 2004-01-07

Family

ID=22783570

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB951020404A Expired - Lifetime CN1133916C (zh) 1994-03-18 1995-02-17 在操作系统中支持触摸板的计算机系统

Country Status (10)

Country Link
US (2) US5613137A (zh)
EP (1) EP0675426B1 (zh)
JP (1) JPH07261923A (zh)
KR (1) KR0160801B1 (zh)
CN (1) CN1133916C (zh)
AT (1) ATE196203T1 (zh)
CA (1) CA2142798C (zh)
DE (1) DE69518683T2 (zh)
ES (1) ES2149924T3 (zh)
TW (1) TW338817B (zh)

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259438B1 (en) 1998-06-04 2001-07-10 Wacom Co., Ltd. Coordinate input stylus
US6222525B1 (en) 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
US6756965B2 (en) * 1994-03-18 2004-06-29 International Business Machines Corporation Input device having two joysticks and touchpad with default template
US5613137A (en) * 1994-03-18 1997-03-18 International Business Machines Corporation Computer system with touchpad support in operating system
EP0771015B1 (en) 1995-05-10 2002-09-25 Nintendo Co., Limited Operating device with analog joystick
US5856822A (en) * 1995-10-27 1999-01-05 02 Micro, Inc. Touch-pad digital computer pointing-device
JP3221313B2 (ja) * 1996-03-29 2001-10-22 日本電気株式会社 コンピュータの入力装置
US8674932B2 (en) * 1996-07-05 2014-03-18 Anascape, Ltd. Image controller
EP0816989A3 (en) * 1996-07-06 1999-04-07 Saitek Limited Configurable computer input device
US5880539A (en) * 1996-12-05 1999-03-09 Silitek Corporation Electromagnet induced switch
US5887995A (en) * 1997-09-23 1999-03-30 Compaq Computer Corporation Touchpad overlay with tactile response
GB9721299D0 (en) * 1997-10-09 1997-12-10 Saitek Ltd Improvements in computer systems
GB9722766D0 (en) 1997-10-28 1997-12-24 British Telecomm Portable computers
US6667738B2 (en) 1998-01-07 2003-12-23 Vtech Communications, Ltd. Touch screen overlay apparatus
US6392637B2 (en) * 1998-08-13 2002-05-21 Dell Usa, L.P. Computer system having a configurable touchpad-mouse button combination
DE69808152T2 (de) * 1998-08-26 2003-11-27 Fractal Edge Ltd Darstellung logisch veknüpfter daten
EP1016952B1 (en) * 1998-12-28 2004-09-29 Alps Electric Co., Ltd. Personal computer system
JP4540770B2 (ja) * 1999-04-23 2010-09-08 富士通コンポーネント株式会社 座標入力装置及び記憶媒体
US6337678B1 (en) 1999-07-21 2002-01-08 Tactiva Incorporated Force feedback computer input and output device with coordinated haptic elements
CA2279684C (en) 1999-08-05 2007-05-15 Vtech Communications, Ltd. Method and apparatus for telephone call fraud detection and prevention
US7764272B1 (en) 1999-08-26 2010-07-27 Fractal Edge Limited Methods and devices for selecting items such as data files
US6424338B1 (en) 1999-09-30 2002-07-23 Gateway, Inc. Speed zone touchpad
US6757002B1 (en) * 1999-11-04 2004-06-29 Hewlett-Packard Development Company, L.P. Track pad pointing device with areas of specialized function
EP1120704A1 (en) * 2000-01-26 2001-08-01 Golden Card Multimedia Technology Co., Ltd. Controller for executing interactive software in multimedia computer
WO2001071477A1 (en) * 2000-03-23 2001-09-27 Ir Vision Ab An apparatus and method for providing information in a graphical user interface comprising a touch screen
US6741235B1 (en) * 2000-06-13 2004-05-25 Michael Goren Rapid entry of data and information on a reduced size input area
US7050197B1 (en) * 2000-09-14 2006-05-23 Eastman Kodak Company Image processor for high-speed printing applications
JP2002202855A (ja) * 2000-12-28 2002-07-19 Matsushita Electric Ind Co Ltd タッチパネル及びこれを用いた電子機器
NL1018338C2 (nl) * 2001-06-20 2002-12-30 Draka Fibre Technology Bv Optische vezel.
US20030071836A1 (en) * 2001-07-25 2003-04-17 Chang King Ting Controller for executing interactive software in multimedia computer
US6904497B1 (en) * 2001-09-21 2005-06-07 Adaptec, Inc. Method and apparatus for extending storage functionality at the bios level
US7084856B2 (en) * 2001-10-22 2006-08-01 Apple Computer, Inc. Mouse having a rotary dial
US7046230B2 (en) * 2001-10-22 2006-05-16 Apple Computer, Inc. Touch pad handheld device
US20070085841A1 (en) * 2001-10-22 2007-04-19 Apple Computer, Inc. Method and apparatus for accelerated scrolling
US7312785B2 (en) 2001-10-22 2007-12-25 Apple Inc. Method and apparatus for accelerated scrolling
US7345671B2 (en) * 2001-10-22 2008-03-18 Apple Inc. Method and apparatus for use of rotational user inputs
US7333092B2 (en) * 2002-02-25 2008-02-19 Apple Computer, Inc. Touch pad for handheld device
US6995751B2 (en) * 2002-04-26 2006-02-07 General Instrument Corporation Method and apparatus for navigating an image using a touchscreen
US7190351B1 (en) 2002-05-10 2007-03-13 Michael Goren System and method for data input
KR100931189B1 (ko) 2002-11-13 2009-12-10 엘지디스플레이 주식회사 터치패널의 구동장치 및 방법
US20040125086A1 (en) * 2002-12-30 2004-07-01 Hagermoser Edward S. Touch input device having removable overlay
US7069357B2 (en) * 2003-01-29 2006-06-27 Numark Industries, Llc Touch sensor system
US7884804B2 (en) 2003-04-30 2011-02-08 Microsoft Corporation Keyboard with input-sensitive display device
US7119794B2 (en) * 2003-04-30 2006-10-10 Microsoft Corporation Character and text unit input correction system
US20040239622A1 (en) * 2003-05-30 2004-12-02 Proctor David W. Apparatus, systems and methods relating to improved user interaction with a computing device
US6992656B2 (en) * 2003-08-13 2006-01-31 Hughes Micheal L Computer mouse with data retrieval and input functionalities
US7499040B2 (en) * 2003-08-18 2009-03-03 Apple Inc. Movable touch pad with added functionality
US20060181517A1 (en) * 2005-02-11 2006-08-17 Apple Computer, Inc. Display actuator
US20070152977A1 (en) * 2005-12-30 2007-07-05 Apple Computer, Inc. Illuminated touchpad
US8059099B2 (en) * 2006-06-02 2011-11-15 Apple Inc. Techniques for interactive input to portable electronic devices
US7495659B2 (en) * 2003-11-25 2009-02-24 Apple Inc. Touch pad for handheld device
US8164573B2 (en) 2003-11-26 2012-04-24 Immersion Corporation Systems and methods for adaptive interpretation of input from a touch-sensitive input device
US7394453B2 (en) * 2004-04-23 2008-07-01 Cirque Corporation Method for scrolling and edge motion on a touchpad
US7756594B2 (en) * 2004-06-14 2010-07-13 Microsoft Corporation Systems and methods for parsing flexible audio codec topologies
US20060041895A1 (en) * 2004-08-04 2006-02-23 Microsoft Corporation Systems and methods for interfacing with codecs across an architecture optimized for audio
US7590065B2 (en) * 2004-08-04 2009-09-15 Microsoft Corporation Equal-opportunity bandwidth regulation
US20060031607A1 (en) * 2004-08-05 2006-02-09 Microsoft Corporation Systems and methods for managing input ring buffer
CN100555200C (zh) * 2004-08-16 2009-10-28 苹果公司 触敏器件和提高触敏器件的空间分辨率的方法
US7706901B2 (en) * 2004-10-01 2010-04-27 Microsoft Corporation Low latency real-time audio streaming
US7634738B2 (en) * 2004-11-19 2009-12-15 Microsoft Corporation Systems and methods for processing input data before, during, and/or after an input focus change event
US20060198087A1 (en) * 2005-03-07 2006-09-07 3M Innovative Properties Company Filter medium retainer
US8487910B2 (en) * 2005-05-02 2013-07-16 Smart Technologies Ulc Large scale touch system and methods for interacting with same
CA2614740A1 (en) * 2005-07-12 2007-01-18 Cirque Corporation Rectangular sensor grid for touchpad sensor and scrolling region
US7671837B2 (en) * 2005-09-06 2010-03-02 Apple Inc. Scrolling input arrangements using capacitive sensors on a flexible membrane
US7880729B2 (en) * 2005-10-11 2011-02-01 Apple Inc. Center button isolation ring
US20070152983A1 (en) * 2005-12-30 2007-07-05 Apple Computer, Inc. Touch pad with symbols based on mode
US9685093B2 (en) * 2006-01-03 2017-06-20 Yandi Ongkojoyo Customizable wireless education or occupational therapy tool having a switch unit and a transmitter unit
US20070188474A1 (en) * 2006-02-16 2007-08-16 Zaborowski Philippe S Touch-sensitive motion device
US8022935B2 (en) 2006-07-06 2011-09-20 Apple Inc. Capacitance sensing electrode with integrated I/O mechanism
US8743060B2 (en) 2006-07-06 2014-06-03 Apple Inc. Mutual capacitance touch sensing device
US9360967B2 (en) * 2006-07-06 2016-06-07 Apple Inc. Mutual capacitance touch sensing device
US20080006454A1 (en) * 2006-07-10 2008-01-10 Apple Computer, Inc. Mutual capacitance touch sensing device
US20080055256A1 (en) * 2006-08-31 2008-03-06 Intel Corporation Touch screen controller with embedded overlay
US7795553B2 (en) 2006-09-11 2010-09-14 Apple Inc. Hybrid button
US20080088600A1 (en) * 2006-10-11 2008-04-17 Apple Inc. Method and apparatus for implementing multiple push buttons in a user input device
US8274479B2 (en) * 2006-10-11 2012-09-25 Apple Inc. Gimballed scroll wheel
US20080088597A1 (en) * 2006-10-11 2008-04-17 Apple Inc. Sensor configurations in a user input device
US8482530B2 (en) * 2006-11-13 2013-07-09 Apple Inc. Method of capacitively sensing finger position
US8130203B2 (en) * 2007-01-03 2012-03-06 Apple Inc. Multi-touch input discrimination
US8269727B2 (en) 2007-01-03 2012-09-18 Apple Inc. Irregular input identification
US7855718B2 (en) * 2007-01-03 2010-12-21 Apple Inc. Multi-touch input discrimination
US7876310B2 (en) 2007-01-03 2011-01-25 Apple Inc. Far-field input identification
US9654104B2 (en) * 2007-07-17 2017-05-16 Apple Inc. Resistive force sensor with capacitive discrimination
US7910843B2 (en) * 2007-09-04 2011-03-22 Apple Inc. Compact input device
US8683378B2 (en) * 2007-09-04 2014-03-25 Apple Inc. Scrolling techniques for user interfaces
US20090058801A1 (en) * 2007-09-04 2009-03-05 Apple Inc. Fluid motion user interface control
US20090073130A1 (en) * 2007-09-17 2009-03-19 Apple Inc. Device having cover with integrally formed sensor
US8416198B2 (en) * 2007-12-03 2013-04-09 Apple Inc. Multi-dimensional scroll wheel
US8125461B2 (en) * 2008-01-11 2012-02-28 Apple Inc. Dynamic input graphic display
US8820133B2 (en) * 2008-02-01 2014-09-02 Apple Inc. Co-extruded materials and methods
US9454256B2 (en) 2008-03-14 2016-09-27 Apple Inc. Sensor configurations of an input device that are switchable based on mode
US20100058251A1 (en) * 2008-08-27 2010-03-04 Apple Inc. Omnidirectional gesture detection
US8816967B2 (en) 2008-09-25 2014-08-26 Apple Inc. Capacitive sensor having electrodes arranged on the substrate and the flex circuit
US8395590B2 (en) * 2008-12-17 2013-03-12 Apple Inc. Integrated contact switch and touch sensor elements
KR20100118366A (ko) * 2009-04-28 2010-11-05 삼성전자주식회사 휴대 단말기의 터치스크린 운용 방법 및 이를 지원하는 휴대 단말기
US9354751B2 (en) * 2009-05-15 2016-05-31 Apple Inc. Input device with optimized capacitive sensing
US8872771B2 (en) * 2009-07-07 2014-10-28 Apple Inc. Touch sensing device having conductive nodes
TWI419037B (zh) * 2010-01-18 2013-12-11 Wistron Corp 觸控系統、觸控操作方法與電腦系統
US8874607B2 (en) * 2010-08-17 2014-10-28 Fujitsu Limited Representing sensor data as binary decision diagrams
US8645108B2 (en) 2010-08-17 2014-02-04 Fujitsu Limited Annotating binary decision diagrams representing sensor data
US8583718B2 (en) 2010-08-17 2013-11-12 Fujitsu Limited Comparing boolean functions representing sensor data
US8930394B2 (en) 2010-08-17 2015-01-06 Fujitsu Limited Querying sensor data stored as binary decision diagrams
US8572146B2 (en) 2010-08-17 2013-10-29 Fujitsu Limited Comparing data samples represented by characteristic functions
US8495038B2 (en) 2010-08-17 2013-07-23 Fujitsu Limited Validating sensor data represented by characteristic functions
US9002781B2 (en) 2010-08-17 2015-04-07 Fujitsu Limited Annotating environmental data represented by characteristic functions
US9138143B2 (en) 2010-08-17 2015-09-22 Fujitsu Limited Annotating medical data represented by characteristic functions
US8325150B1 (en) 2011-01-18 2012-12-04 Sprint Communications Company L.P. Integrated overlay system for mobile devices
US8482540B1 (en) * 2011-01-18 2013-07-09 Sprint Communications Company L.P. Configuring a user interface for use with an overlay
US8904289B2 (en) * 2011-04-21 2014-12-02 Touchstream Technologies, Inc. Play control of content on a display device
US9767195B2 (en) 2011-04-21 2017-09-19 Touchstream Technologies, Inc. Virtualized hosting and displaying of content using a swappable media player
CN102184047A (zh) * 2011-05-03 2011-09-14 广东威创视讯科技股份有限公司 触摸信息的通信方法及其装置
CN103782263B (zh) * 2011-09-13 2017-02-15 索尼电脑娱乐公司 信息处理装置、信息处理方法、内容文件的数据结构、gui布局仿真器及gui布局设置辅助方法
US8781995B2 (en) 2011-09-23 2014-07-15 Fujitsu Limited Range queries in binary decision diagrams
US8620854B2 (en) 2011-09-23 2013-12-31 Fujitsu Limited Annotating medical binary decision diagrams with health state information
US8838523B2 (en) 2011-09-23 2014-09-16 Fujitsu Limited Compression threshold analysis of binary decision diagrams
US8812943B2 (en) 2011-09-23 2014-08-19 Fujitsu Limited Detecting data corruption in medical binary decision diagrams using hashing techniques
US8719214B2 (en) 2011-09-23 2014-05-06 Fujitsu Limited Combining medical binary decision diagrams for analysis optimization
US8909592B2 (en) 2011-09-23 2014-12-09 Fujitsu Limited Combining medical binary decision diagrams to determine data correlations
US9075908B2 (en) 2011-09-23 2015-07-07 Fujitsu Limited Partitioning medical binary decision diagrams for size optimization
US9177247B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Partitioning medical binary decision diagrams for analysis optimization
US9176819B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Detecting sensor malfunctions using compression analysis of binary decision diagrams
US9005025B2 (en) * 2011-12-20 2015-04-14 Wikipad, Inc. Game controller
US8742892B1 (en) 2013-07-29 2014-06-03 Elbex Video Ltd. Method and apparatus for assigning and imprinting touch icons of a touch pad
CN204009771U (zh) * 2014-08-06 2014-12-10 胡竞韬 一种触感型控制器
US20160356602A1 (en) 2015-06-03 2016-12-08 Reginald K. Puana E-Car Trip Planner
CN113839225B (zh) * 2021-10-19 2023-07-25 中国电建集团福建工程有限公司 一种用于电缆连接头的连接方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990008372A1 (en) * 1989-01-23 1990-07-26 Grant Lee H Universal image programmable keyboard

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4156928A (en) * 1977-04-22 1979-05-29 Hitachi, Ltd. Programmable television game and training system with adaptable operator control
US4202041A (en) * 1977-07-11 1980-05-06 Massachusetts Institute Of Technology Dynamically variable keyboard terminal
JPS54114058A (en) * 1978-02-24 1979-09-05 Sharp Corp Electronic apparatus
US4280121A (en) * 1978-06-05 1981-07-21 Crask Geoffrey J Keyboard assembly with controllable key legends
US4279021A (en) * 1979-02-15 1981-07-14 Telxon Corporation Portable data entry apparatus including plural selectable functional configurations
US4425099A (en) * 1981-10-13 1984-01-10 Texas Instruments Incorporated Educational aid for use with workbook
JPS6039170U (ja) * 1983-08-24 1985-03-18 シャープ株式会社 電子メモ装置
JPS60105348A (ja) * 1983-11-14 1985-06-10 Kyocera Corp 多機能キ−入力装置
JPS60131041U (ja) * 1984-02-08 1985-09-02 シャープ株式会社 手書き入力情報の処理装置
US4587630A (en) * 1984-02-15 1986-05-06 Hewlett-Packard Company Intelligent programmable touchscreen system
US4663704A (en) * 1984-12-03 1987-05-05 Westinghouse Electric Corp. Universal process control device and method for developing a process control loop program
GB2178570A (en) * 1985-06-07 1987-02-11 Remanco Systems Inc Computer overlay keyboard
US4736191A (en) * 1985-08-02 1988-04-05 Karl E. Matzke Touch activated control method and apparatus
US4899377A (en) * 1985-12-10 1990-02-06 American Telephone And Telegraph Company Communication terminal telephone directory with dynamic directory tabbing
US4908845A (en) * 1986-04-09 1990-03-13 Joyce Communication Systems, Inc. Audio/telephone communication system for verbally handicapped
US4725694A (en) * 1986-05-13 1988-02-16 American Telephone And Telegraph Company, At&T Bell Laboratories Computer interface device
JPS631254U (zh) * 1986-06-19 1988-01-07
JPS636624A (ja) * 1986-06-27 1988-01-12 Seiko Epson Corp 入力装置
US4827410A (en) * 1986-07-21 1989-05-02 Corren Dean R Computer system user interface
EP0272070B1 (en) * 1986-12-15 1995-03-01 Omron Corporation Input apparatus for computer
US4811240A (en) * 1986-12-22 1989-03-07 International Business Machines Corporation System for creating and controlling interactive graphic display screens
US5059960A (en) * 1986-12-22 1991-10-22 Eastman Kodak Company Control panel
DE3732519A1 (de) * 1987-09-26 1989-04-06 Olympia Aeg Anordnung zum eingeben und verarbeiten von zeichen und/oder grafischen mustern
US4859841A (en) * 1987-12-28 1989-08-22 Eastman Kodak Company Digital data apparatus including an application insert sensor
US4945214A (en) * 1987-12-28 1990-07-31 Eastman Kodak Company Digital data apparatus with datastrip compression and expansion
US4899292A (en) * 1988-03-02 1990-02-06 Image Storage/Retrieval Systems, Inc. System for storing and retrieving text and associated graphics
FR2629228B1 (fr) * 1988-03-25 1993-05-28 Sfena Terminal de communication a composition variable
US5086503A (en) * 1988-04-08 1992-02-04 International Business Machines Corporation Methods of remapping a keyboard within a computer system
JPH0267620A (ja) * 1988-09-01 1990-03-07 Nec Corp 携帯型端末装置の入力方式
US4973960A (en) * 1989-02-24 1990-11-27 Amoco Corporation Data entry method and apparatus
US5157384A (en) * 1989-04-28 1992-10-20 International Business Machines Corporation Advanced user interface
US5128862A (en) * 1989-06-28 1992-07-07 Management Information Support, Inc. Customer operable system for a retail store or fast-food restaurant having plural ordering stations
US5226160A (en) * 1989-07-18 1993-07-06 Visage Method of and system for interactive video-audio-computer open architecture operation
US4922060A (en) * 1989-07-20 1990-05-01 Mcjunkin James Enhanced information overlay for use with a digitizing pad and computer
US5231380A (en) * 1989-08-09 1993-07-27 Microtouch Systems, Inc. Input keyboard touch-sensitive adjunct
US5165015A (en) * 1989-09-25 1992-11-17 Reliance Electric Industrial Company Electronic template system and method
US5053585A (en) * 1990-10-12 1991-10-01 Interlink Electronics, Incorporated Multipurpose keyboard using digitizer pad featuring spatial minimization of a pressure contact area and method of making same
CA2052155C (en) * 1990-10-30 1997-01-28 Victor S. De Gyarfas Glass trainer
US5613137A (en) * 1994-03-18 1997-03-18 International Business Machines Corporation Computer system with touchpad support in operating system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990008372A1 (en) * 1989-01-23 1990-07-26 Grant Lee H Universal image programmable keyboard

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
RESERCH DISCLOSURE DYNAMICALLY ALLOCATION KEY TABLE FOR A TO 1989-03-01 havant gb *
RESERCH DISCLOSURE DYNAMICALLY ALLOCATION KEY TABLE FOR A TO 1989-03-01 havant gb;RESERCHDISCLOSUREDYNAMICALLYALLOCATIONKEYTABLEFORATO 1989-03-01 havant,gb *
RESERCHDISCLOSUREDYNAMICALLYALLOCATIONKEYTABLEFORATO 1989-03-01 havant,gb *

Also Published As

Publication number Publication date
EP0675426B1 (en) 2000-09-06
KR0160801B1 (ko) 1998-12-15
CN1139235A (zh) 1997-01-01
DE69518683T2 (de) 2001-08-02
EP0675426A1 (en) 1995-10-04
ATE196203T1 (de) 2000-09-15
DE69518683D1 (de) 2000-10-12
TW338817B (en) 1998-08-21
JPH07261923A (ja) 1995-10-13
ES2149924T3 (es) 2000-11-16
CA2142798A1 (en) 1995-09-19
CA2142798C (en) 2000-11-14
US5875311A (en) 1999-02-23
US5613137A (en) 1997-03-18

Similar Documents

Publication Publication Date Title
CN1133916C (zh) 在操作系统中支持触摸板的计算机系统
CN1119304A (zh) 具有两个游戏棒和带缺省模板的触摸板的输入设备
CN1099064C (zh) 在一双壳壳体中键盘-触摸垫的组合
US6756965B2 (en) Input device having two joysticks and touchpad with default template
CN1104685C (zh) 盒式存储器,保证其用在计算机系统的方法和鉴别系统
US5802544A (en) Addressing multiple removable memory modules by remapping slot addresses
US7737956B2 (en) Electronic device and method providing a cursor control
US7737955B2 (en) Electronic device and method providing a touch-based interface for a display control
TWI396123B (zh) 光學式觸控系統及其運作方法
KR940009293B1 (ko) 마우스 기능을 구비한 키보드의 구현방법
TWI569184B (zh) Improved loop wearable touch display device
JPH1195895A (ja) 情報入力装置
CN1739084A (zh) 快速输入设备
JPH096534A (ja) コンピュータ・システムおよび入力装置
JP3228584B2 (ja) タッチパネルにおけるマウス入力方式
JPH1139091A (ja) データ入力装置
JPS62165232A (ja) キ−入力装置
US7508375B2 (en) Method for controlling a control of a display
JPH0383114A (ja) ベクトル量入力装置
RU2450318C2 (ru) Устройство ввода символов и способ его применения
JPH06218142A (ja) ゲーム装置
JPS62165233A (ja) キ−入力装置
JPH06195169A (ja) 電子計算機の入力装置
JPH09179681A (ja) 指示入力装置および情報処理装置
JPH04302318A (ja) 座標情報入力装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CX01 Expiry of patent term

Expiration termination date: 20150217

Granted publication date: 20040107