红外线计算机键盘及遥控 传输格式产生方法 【技术领域】
本发明涉及一种红外线信号传输格式产生方法及协定,特别涉及一种针对无线键盘及个人计算机遥控器的红外线信号传输格式产生方法。该协定分别规划无线键盘及个人计算机遥控器上,相对应于每一按键、或按钮、或指标装置的各种状态的传输格式。
背景技术
由于无线键盘及个人计算机遥控器的无线通信或控制的需要,因此无线键盘或个人计算机遥控器如今已经在市面上出现。如图1所示,在个人计算机11上提供有一传统的红外线信号接收器110,以及一具有RS-232标准端口的输入/输出(I/O)控制器113。举例而言,传统的红外线信号接收器110可能是以具有38KHz载波地940nm波长红外线信号解码的类型。如同广为周知的方法,接收器110的输出是经由RS-232标准端口被输入/输出控制器113所接收。个人计算机11的接收装置可能包括键盘13以及个人计算机遥控器15。不论键盘13或计算机遥控器15均是选择性地以无线方式连接至个人计算机11。典型上,键盘13有一指标装置130,例如鼠标,及多个按键在其上。典型上,计算机遥控器15具有多个按钮(功能)151,例如命令解码器(CD),以及一指标装置153在其上。
【发明内容】
在如图1的配置之下,本发明提供一针对无线键盘及个人计算机遥控器的红外线信号传输格式产生方法及传输协定,以避免受到其他的影/音电子设备及无线键盘及个人计算机遥控器的干扰。本发明所提供的传输协定及传输格式产生方法不只能够区别由无线键盘及计算机遥控器所产生的传输信号与由其他公知的电子设备的控制器所产生的传输信号,也可以在传送至接受器前编码为公知的RS-232格式。
键盘的传输协定包括一MAKE码及一BREAK码。
当一按键被按下时,即产生MAKE码,且当一按键从按下状态被释放时,即产生BREAK码。
MAKE码包含一第一数据及跟随该第一数据的一第二数据。第一数据是经由以一参数及一第一ID(身份)码执行XOR(互斥或)运算而形成。
在一较佳实施例中,该参数是经由加总被指定至按键的按键值(keynumber)及一第一预定常数而获得。
本发明提供一输入装置中一传输格式的产生方法,输入装置是以无线方式与一个人计算机沟通,输入装置包含一键盘(keyboard),键盘具有至少一按键(key)。产生方法包含下列步骤:当按键被按下时,产生一MAKE码,MAKE码包含一第一数据及跟随第一数据的一第二数据,其中,第一数据是由对一参数(parameter)及一第一ID码执行XOR运算所形成;及当按键从一按下状态被释放时,产生一BREAK码。
【附图说明】
图1显示根据本发明的实施例系统。
图2揭露本发明的流程。
图3揭露本发明如何处理一扩充按键被按下。
图4揭露本发明如何处理按键的鬼键组合(ghost combination)发生。
图5揭露本发明如何处理指标装置移动。
图6揭露本发明如何处理遥控器按钮被按下的状况。
【具体实施方式】
本发明提供个人计算机所使用的无线传输输入装置的红外线传输协定。输入装置包含键盘及个人计算机(PC)遥控器。传送码(transmission codes)被区分为四部分:对应键盘(keyboard)的按键码(key code)、对应遥控器(remotercontroller)的按钮码(button code)、对应键盘(keyboard)的鼠标码(mouse code)、以及对应遥控器(remote controller)的鼠标码(mouse code)。
对应键盘的按键码包含6种不同的类型(types):MAKE、BREAK、END、REPEAT、EXTENT以及ERROR,并且每一类型有其相对应的功能。例如,当一按键被按下(pressed)时,MAKE码即被键盘中的微处理器产生及传送。当一按键从按下状态被释放(released)时,BREAK即被产生及传送。当一按键从按下状态被释放后约0.1秒时,END码即被传送。当最后被按下的按键持续按下状态超过0.25秒时,REPEAT码即被产生及传送。EXTENT码是键盘上扩充按键(extended keys)的前导码(leading code)。当检测到被按下的按键(depressed keys)的鬼键组合(ghost combination)时,ERROR码即被传送。
特别地,相对应于本发明所提供的按键的MAKE码包含一第一数据及跟随该第一数据的一第二数据。第一数据是经由以一参数及一第一ID码执行XOR运算而形成。
在一具体实施例中,该参数是经由加总被指定至一按键的按键值(keynumber)及一第一预定常数(constant)而获得。在一具体实施例中,第一预定常数是十进位的128,第一ID码是十六进位的53。
在一具体实施例中,第二数据是经由以一参数及一第二ID码执行XOR运算而获得。在一具体实施例中,第二ID码是十六进位的AB。
再者,在传送至个人计算机前,MAKE码被编码为一RS232格式。当完成此步骤而且个人计算机上提供一RS-232端口时,个人计算机可以接受经由RS-232端口传送的码,而避免需要在个人计算机上外加微处理器。
特别地,相对应于本发明所提供的按键的BREAK码包含一第一数据及跟随该第一数据的一第二数据。第一数据是经由以被指定至按键的按键值以及第一ID码执行XOR运算而形成。第二数据是经由以按键值以及第二ID码执行XOR运算而形成。
特别地,当一扩充按键被按下时,代表该扩充按键的前导码的EXTENT码即被产生。EXTENT码包含一第一数据及跟随该第一数据的一第二数据。第一数据是经由以第二预定常数以及第一ID码执行XOR运算而形成。第二数据是经由以第二预定常数以及第二ID码执行XOR运算而形成。在一具体实施例中,第二预定常数码是十六进位的5E。
特别地,本发明的传输协定进一步包含对应被按下按键的鬼键组合的一ERROR码。ERROR码包含一第一数据及跟随该第一数据的一第二数据。第一数据是经由以第三预定常数以及第一ID码执行XOR运算而形成,第二数据是经由以第三预定常数以及第二ID码执行XOR运算而形成。在一具体实施例中,第三预定常数码是十六进位的8E。
而且,END码包含一第一数据及跟随该第一数据的一第二数据。第一数据是以0EH以及第一ID码执行XOR运算而形成。第二数据是经由以0EH以及第二ID码执行XOR运算而形成。
而且,PEPEAT码包含一第一数据及跟随该第一数据的一第二数据。第一数据是以00H以及第一ID码执行XOR运算而形成。第二数据是以00H以及第二ID码执行XOR运算而形成。
当完成上述的实施例,以下列表揭示较佳实施例的总结。 第一数据 第二数据MAKE(按键值+128)XOR(第一ID码)(按键值+128)XOR(第二ID码)BREAK(按键值)XOR(第一ID码)(按键值)XOR(第二ID码)END0EH XOR(第一ID码)0EH XOR(第二ID码)REPEAT00H XOR(第一ID码)00H XOR(第二ID码)EXTENT5EH XOR(第一ID码)5EH XOR(第二ID码)ERROR8EH XOR(第一ID码)8EH XOR(第二ID码)
下述为一例子显示当“K”按键被按下及释放时,所产生的码。为了以下说明的需要,被指定至“K”的按键值是00100110。当按下“K”时,对应于MAKE码所产生的第一数据是11110101(F5H),而第二数据是00001101(0DH)。当“K”被释放时,即产生BREAK码。BREAK码的第一数据是01110101(75H)以及第二数据是10001100(8D)。而且大约在“K”被释于后0.1秒时,即产生END码,而END码的第一数据是01011101(5D)以及END码的第二数据是10100101(A5)。
键盘可以进一步包含一指标装置,例如鼠标。当指标装置被移动时,即产生一指标数据包(pointing packet)。无线键盘的鼠标码数据包是由三个数据单位(data units)所组成。此即是:一身份(ID)码、一跟随该身份码表示在X轴方向增量的第一码、以及一跟随该第一码表示在Y轴方向增量的第二码。在一具体实施例中,被选定的身份码是十六进位的3F。无线键盘的鼠标码的传送顺序如下所述。位值(Bit Number) 7 6 5 4 3 2 1 0第一字节(ID) 0 0 1 1 1 1 1 1第二字节 X7 X6 X5 X4 X3 X2 X1 X0第三字节 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0X6不能等于1,并且Y6不能等于1。
为了说明的目的,当具有由无线键盘答覆的指标装置的移动量(0,1),产生的码读数如下:00111111、00000000以及00000001。
个人计算机遥控器的按钮数据包(button code packet)也由三个数据单位所组成。提供有三种型态的按钮序列(sequence)。其为MAKE、REPEAT以及BREAK。
MAKE序列(sequence)代表一按钮(button)被按下。亦即当个人计算机遥控器上的按钮被按下,即产生一数据包(packet)。数据包包含一致能码(make-code)、一跟随该致能码被指定至按钮的按钮码(button-code)、以及跟随该按钮码的一检查码(check-code)。在一具体实施例中,检查码是按钮码的逆码(inverse code)。在致能码之前的第六位被设定为0。在按钮码之前的第六位被设定为1。在检查码之前的第六位被设定为1。
PEPEAT序列(sequence)表示一按钮被按下超过约100ms。REPEAT序列以约100ms的周期(period)重复传送。亦即在个人计算机遥控器上的按钮被按下超过约100ms时,即产生一数据包。数据包包含一重复码(repeat-code)、一跟随该重复码被指定至按钮的按钮码、以及跟随该按钮码的一检查码。在一具体实施例中,检查码是按钮码的逆码。在重复码之前的第六位被设定为0。在按钮码之前的第六位被设定为1。在检查码之前的第六位被设定为1。
BREAK序列(sequence)表示是REPEAT序列的结束(end)以及按钮的释放(release)。对应于BREAK序列的数据包(packet)包含一间断码(break-code)、一跟随该间断码被指定至按钮的按钮码(button-cdde)、以及跟随该按钮码的一检查码(check-code)。在一具体实施例中,检查码是按钮码的逆码。在间断码之前的第六位被设定为0。在按钮码之前的第六位被设定为1。在检查码之前的第六位被设定为1。
个人计算机遥控器上的鼠标数据包(mouse packet)由三个数据单位所组成。第一数据单位包含5个身份位(identification bits)及“左”及“右”按钮状态(button status)。下一个数据单位包含5个针对水平运动的数据位。最后的数据位包含5个针对垂直运动的数据位。个人计算机遥控器的鼠标码的传送序列述之如下。当X5位被设定时,鼠标移向负X轴方向。当Y5位被设定时,鼠标移向负Y轴方向。位值 7 6 5 4 3 2 1 0第一字节(ID) P0# 1 1 1 1 1 L R第二字节 P1# 0 X5 X4 X3 X2 X1 X0第三字节 P2# 0 Y5* Y4* Y3* Y2* Y1* Y0*#表示奇数的同位检查码(paarity check bit)以及*表示2的补数(complement)
从上述的列表可以看出,无线键盘的鼠标码的第六位的组合是(0,X6,Y6),且X6是1以外的数字,以及Y6是1以外的数字。而且,个人计算机遥控器按钮码的第六位的组合一定是(0,1,1),以及个人计算机遥控器鼠标码的第六位的组合一定是(1,0,0)。这其中的差异可让在个人计算机上的接收器可以轻易区分彼此的不同。
为了完成上述的协定,本发明提供一输入装置中一传输格式的产生方法。输入装置是以无线方式与一个人计算机沟通,输入装置包含一键盘(keyboard),键盘具有至少一按键(key)。如图2所述,产生方法包含:检测键盘上是否一按键被按下(方块22);当按键被按下时,产生一MAKE码,MAKE码包含一第一数据及跟随第一数据的一第二数据,其中,第一数据是由对一参数(parameter)及一第一ID码执行XOR运算所形成(方块24)。之后,检测按键从一按下状态是否被释放(方块26)。当按键从一按下状态被释放时,产生一BREAK码(方块28)。
在方块28的程序后,本发明的产生方法进一步检测按键被释放后是否超过约0.1秒(方块23),若为是,产生一END码,END码包含一第一数据及跟随第一数据的一第二数据,对一第四预定常数及第一ID码执行XOR运算而形成第一数据,对第四预定常数及第二ID码执行XOR运算而形成第二数据(方块25)。
在方块26中的结果若为否,本发明的产生方法进一步检测按键是否持续被按下超过约0.25秒(方块21),若为是,产生一REPEAT码,REPEAT码包含一第一数据及跟随第一数据的一第二数据,对一第五预定常数及第一ID码执行XOR运算而形成该第一数据,对第五预定常数及第二ID码执行XOR运算而形成第二数据(方块27)。
如前述,键盘进一步包含至少一扩充按键(extended key)。如图3所示,本发明的产生方法进一步检测键盘上是否一扩充按键被按下(方块32)。当扩充按键被按下时,产生一EXTENT码,EXTENT码代表扩充按键的一前导码(leading code)。EXTENT码包含一第一数据及跟随第一数据的一第二数据,对一第二预定常数及第一ID码执行XOR运算而形成第一数据,该第二预定常数及第二ID码执行XOR运算而形成第二数据(方块34)。
如图4所示,本发明的产生方法进一步检测键盘上是否有按键的鬼键组合(ghost combination)发生(方块42)。当所按压的按键的鬼键组合发生时,产生一ERROR码。ERROR码包含一第一数据及跟随第一数据的一第二数据,对一第三预定常数及第一ID码执行XOR运算而形成第一数据,对第三预定常数及第二ID码执行XOR运算而形成第二数据(方块44)。
如前述,键盘进一步包含一指标装置(pointing device)。如图5所示,本发明方法检测指标装置是否移动(方块52)。当指标装置移动时,产生一指标数据包(packet),其中指标数据包包含一身份码(identification code)、跟随身份码且代表在X轴方向增量的一第一码(first code)、以及跟随第一码代表在Y轴方向增量的一第二码(second code)(方块54)。
如前述,输入装置进一步包含使用在一个人计算机上的一遥控器(remotecontroller),遥控器包含至少一按钮(button)于其上。如图6所示,本发明方法检测遥控器按钮是否被按下(方块62)。当按钮被按下时,产生一第一数据包(first packet),其中第一数据包包含一致能码(make-code)、跟随致能码被指定至按钮的一按钮码(button-code)、以及跟随按钮码的一检查码(check-code)(方块64)。
本发明虽以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域的技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围应当以权利要求范围所界定的为准。