AST IR Web Surfer Mouse ======================= Product Information ------------------- Product number: 23453-001 Logitech P/N: 966117-0000 FCC Id: DZL211067 Overview -------- The IR mouse consists of two components, the IR receiver(IRRX) and the IR transmitter (IRTX). The unit comes with software for Windows 3.x/95/NT and runs alongside a normal mouse. The quality of the Windows driver is subsubstandard (I could barely get it to work). IRRX ---- The IRRX plugs into any available serial port on the computer. The serial port must be set at 1200 baud 8N1. This component will receive and decode IR transmittions from the IRTX. If you use a regular remote control (such as from TV) you will random garbage. IRTX ---- The IRTX has 34 buttons and a large mouse joystick. It requires two AA batteries to operate. When a button is pressed it transmits an IR signal to the IRRX component. When a button is pressed the IRRX sends to the computer the IR_BUTTONDOWN code (0xa0) then it transmits a minimum of five key codes. If the user continues to hold the key down the key code ir repeated. When the user releases the key the IRRX send the IR_BUTTONUP code (0xaa). Example #1: Key 5 being pressed and released: a0 19 19 19 19 19 aa Example #2: Key 5 being pressed, held for 1 second and released: a0 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 aa As you can see the format used is very simple. The trick comes in that sometimes the IR signal will get clobbered and you will get an invalid value. Example #3: An error while key 5 was pressed and released: a0 19 19 78 79 19 aa The three common codes (19) are assumed to be the key the user pressed. Table #1: Codes Code Description ---- --------------------- 01 Help 02 Start 03 Phone 04 TV 05 Gde 06 CD 07 Msg 08 Select 0a Channel + 09 Volume + 0b Mute 0c Volume - 0d Channel - 0e Skip Prev 0f Play 10 Skip Next 11 Menu 12 Stop 13 Pause 14 Number 3 15 Number 1 16 Number 2 17 Number 6 18 Number 4 19 Number 5 1a Number 9 1b Number 8 1c Number 7 1d Number 0 1e Symbol # 1f Symbol * 23 Terminate 36 Ouch! User pressed mouse control VERY hard 38 Mouse up 39 Left Mouse Down 3a Right Mouse Down 3b Both Mouse Down 40-4f Light Mouse Movement 50-5f Medium Mouse Movement 60-6f Firm Mouse Movement a0 Button Pressed aa Button Released The mouse movement pad is encoded in a simple format. When the user presses on the mouse movement pad it sends the IR_BUTTONDOWN code (a0) then it sends a stream of mouse movement codes based on the direction and how hard the user is pushing. When the user releases the mouse movement pad it sends the IR_BUTTONUP code (aa). The mouse movement code is one byte in length. The first nibble (bits 4-7) is in the range of four(lightest) thru six(hardest) shows how hard the user is pressing the mouse movement pad. The second nibble (bits 0-3) contains the direction the user is moving the mouse movement pad in, see chart #1. Working clockwise 0 is due north, 1 is North-North-East, 2 is North-East, 3 is North-East-East, 4 is due east, continueing upto 0xf. In example #5 you see that the codes can change quickly and each is significant. Example #4: User lightly going due West: a0 4c 4c 4c 4c 4c 4c 4c aa Example #5: User firmly going in East then South: a0 64 64 65 67 68 68 aa Chart #1 - Mouse movement codes E 0 2 \ F | 1 / \ | / D \ | / 3 C------*------4 B / | \ 5 / | \ / 9 | 7 \ A 8 6