Home

this file

image

Contents

1. Description 32 Software interface AL 17h AH Identification number of the CiTouchD driver ES DI Pointer onto a buffer the received report is copied to AX Status of the reception buffer Possible return values 00h CRS_IDLE No report available 01h CRS_READY A report was received 02h CRS_OVER Further reports were received However the reported that was received first still completely exists in the buffer 04h CRS_CLOSE The driver was not opened by citOpen function 18h By means of this function a report that was completely received by the IRT can be read out If there is no report available it is not waited for but immediately returned with an according status code The maximum required size for the reception buffer can be requested by means of the function citGetDriverConstants function OEh Reports in the CTS1 protocol are already decoded i e they do not contain DC2 DC4 and SYN sequences anymore citOpen AL 18h AH Identification number of the CiTouchD driver ES DI Pointer onto either an Event Handler or NUL in case there are no notifications to be transmitted AX 20001h The reception channel could be opened AX 0000h_ The reception channel could not be opened Possible causes for that are either an already opened reception channel or a driver that was not initialized Before an application program is able to receive reports from the IRT the reception channel needs to be opened beforeh
2. request settings of ballpoint mouse AX 0030h BX Rotation angle CX Command code AX Function status 1 no ballpoint mouse or lt gt 0 OK BX Rotation angle CX Active buttons Since CiTouchD does not support ballpoint mice a FFFFh is always returned to AX 5 3 Extended API functions The extended API functions are accessible via the so called Multiplex Interrupt 2Fh By means of this Multiplex Interrupt various parameters and operational modes of the driver are requested or set respectively To do so the identification number of the CiTouchD driver is written into the AH register and the number of the addressed function into the AL register These are special API functions of the CiTouchD driver and are described in the following The mouse emulation of the CiTouchD driver can be entirely parameterized These parameters are read from either the prompt at the program start or the file CITOUCHD INI The contents of the file CITOUCHD INI are described at page 49 In order to change the parameter of the run time a number of API functions are provided that are all implemented via an Int 2Fh Multiplex Interrupt interface These functions are described in the following 5 3 1 Determining the identification number of CiTouchD Upon each call of an extended API function via the Multiplex Interrupt the identification number of the CiTouchD driver has to be written into the AH register The Multiplex Interrupt owes its name to
3. Number of bytes written into the TOUCHSETTINGS structure The variable IRT parameters are written into the TOUCHSETTINGS structure the pointer of which was passed in ES DI For a description of this structure refer to page 48 citGetTouchHardware AL 0Dh AH Identification number of the CiTouchD driver ES DI Pointer onto a TOUCHHARDWARE structure for the returning of the unchanging IRT parameters AX Number of bytes written into the TOUCHHARDWARE structure The unchanging IRT parameters are written into the TOUCHHARDWARE structure the pointer of which was passed in ES DI For a description of this structure refer to page 48 citGetDriverConstants AL OEh AH Identification number of the CiTouchD driver ES DI Pointer onto a DRIVERCONSTANTS structure for the returning of driver constants AX Number of bytes written into DRIVERCONSTANTS structure The unchanging driver parameters are written into the DRIVERCONSTANTS structure the pointer of which was passed in ES DI For a description of this structure refer to page 46 citSetSerialHardware AL OFh AH Identification number of the CiTouchD driver ES DI Pointer onto a SERIALHARDWARE structure with the new serial interface parameters AX 20001h The new parameters could be set AX 0000h The parameters could not be changed The serial interface parameters are changed according to the SERIALHARDWARE structure the pointer of which was passed in ES DI Fo
4. The scaling factor can be requested by means of the function citGetDriverConstants The default value is 256 XRel_Div 0 65535 This entry determines the divisor for the scaling of relative X coordinates The default value is 1 XRel_Mul 32768 32767 This entry determines the multiplier for the scaling of relative X coordinates The default value is 1 Y_Add 32767 32767 This entry determines the offset of the straight line equation for the calibration of absolute Y coordinates The default value is 0 Y_Mul 0 65535 This entry determines the slope of the straight line equation for the calibration of absolute Y coordinates Y_Mul represents an unsigned fixed point number The scaling factor can be requested by means of the function citGetDriverConstants function OEh The default value is 256 YRel_Div 0 65535 This entry determines the divisor for the scaling of relative Y coordinates The default value is 1 YRel_Mul 32768 32767 This entry determines the multiplier for the scaling of relative Y coordinates The default value is 1 44 CITOUCHD INI User s Manual CiTouchD 6 1 3 Commands This section contains the parameters for the Mouse Button Emulation For a description of the Mouse Button Emulation refer to chapter Pre defined Mouse Button Emulation Modes at page 6 The values for the conditions of the status transitions have the following meaning Value Meaning Never Immediately Enter Z Press
5. Time span in which the IRT has to be interrupted a second time in order to create a Tap The Tap Time is declared in steps of 55 ms Number of coordinates messages to be disregarded before a new cursor position is reported Number of dual touching messages to be disregarded before a dual touching is actually detected Number of Mouse Button to be emulated 1 left hand side mouse button 2 right hand side mouse button 3 both mouse buttons simultaneously TRUE if after an interruption of the connection between the IRT and the computer the linking is to be automatically restored TRUE if an acoustic signal is to occur as response to a mouse click TRUE if absolute coordinates are to be used TRUE if the coordinates smoothing should also cover the release and once more interruption of the Touch Zone This structure contains the parameters of the serial interface Type WORD short WORD Name shPort shinterrupt shBaudDiv Description Base address of the serial interface module Respective ISA Bus Interrupt channel Divisor for the baud rate 41 OCITRON CITOUCHD INI TOUCHHARDWARE This structure contains the unchanging parameters of the IRT Type Name Description WORD thBeamsX Number of physically present X light barriers WORD thBeamsY Number of physically present Y light barriers WORD thResolutionX Maximum X coordinate provided by the IRT WORD thResolutionY Maximum Y coordinate provided by the IRT WORD thProtocol Commu
6. t2 After this time span has elapsed the second mouse click and further ones take place until the Touch Zone is released T2 can be set in steps of 55 ms between 0 ms and 2 s c gt citouchd exe m 6 500 300 e Easy handling e Easy and accurately positioned creation of double clicks e Inaccurate timing of the mouse click Little safety regarding faulty handling Commands Time1 t1 Time2 D Time3 0 Idle_T1 T1_Trigger 2 Trigger_T2 T2_UPT3 UPT3_lIdle 6 UPT3_Trigger 2 O CITRON Configuration m 7 p Z Press Description This particular item is only available if the IRT is equipped with pressure sensors As soon as the pressure exerted onto the front screen exceeds a predetermined limit value a mouse click is emulated The key remains pressed until this pressure minus a hysteresis falls below the limit value again Parameter Pressure Sensitivity p Limit value of the pressure exerted onto the front screen adjustable between 0 and 255 The actual pressure intensity depends on the installation of the IRT Example c gt citouchd exe m 7 10 Advantages e Easy handlin Advantages y e Cursor motion at pressed mouse button possible e Efficient safety regarding faulty handling Disadvantages e RT needs to be equipped with pressure sensors CITOUCHD INI Commands Time1 0 Time2 Time3 B Idle T1 3 T1_Trigger Trigger_T2 T2_UPT3 UPT3_lIdle UPT3_Trigger 0 Settings Pressure p 10 Software inte
7. 16 TOUCHHARDWARE eene 42 TOUCHSETTINGS sess 42 Trigger EE 46 U UPTS Idle ied ftot ett 46 UPT3 Noe 2i rhet 46 User defined key emulation 11 User s Manual CiTouchD V Video Modes eheu 11 virtual graphics screen 11 X A aia ein een 44 Kee EE 43 Kn UE 43 44 ELE EE 49 X_Smoothing coccccoccconocinonocananccononcnonana nano nnnanccnnno 49 XREN De io eeneg 44 XRel Mula ia 44 Y AAA e ius res e o a 44 BO erica 43 acc 43 44 ESA e 49 Tue rulle EE 49 Y Rel DW iuit eter tuts 44 Y Rel Mul ei ette tits 44 Z E ctis A 12 Z Press Exit iet ttes 12 A 12 53
8. AEA nieces 52 6 125 Settings iii a aa iaaa aey 53 EN ELE e EE 55 6 17 Citouichd ita is en tet nme de Pt ia tam Ania 56 sel Int Son denne ecd d II nd ICI 57 O C IT RO N Introduction 2 Introduction The CiTouchD mouse driver Citron Touch driver for MS DOS enables the Citron Infrared Touch in the following referred to as IRT to be used as a mouse substitute with the operating system MS DOS The requirements to be met for the operation of the CiTouchD are a MS DOS version 3 0 or higher and at least an i386 microprocessor The mouse driver implemented in the CiTouchD provides all functions of a standard MS DOS mouse driver that are required for both the detection of the cursor position position of the Touch interruption and the simulation of a mouse button Any previously installed driver for a standard mouse is disabled by the CiTouchD driver Therefore this mouse cannot be used as an input medium anymore Before starting the installation the IRT needs to be connected to a serial interface of the computer Please note that in order to operate the CiTouchD driver the serial interface has to be capable of interpreting Interrupts If a Citron LDVGA graphics card is used in conjunction with the LDRI reception board the connecting cable to the display unit already took care of an adequate connection of the IRT In this case only the base address and the Interrupt channel for the SIO1 of the LDVG board are still to be set This is carried out
9. Beep emitted when mouse button is pressed 2 Beep emitted when mouse button is released 3 Beep emitted when mouse button is either pressed or released The default value is 1 FreqDown 0 65535 49 OCITRON CITOUCHD INI This entry determines the pitch of the beep to be emitted when the mouse button is pressed in steps of 1 Hz The default value is 783 FreqUp 0 65535 This entry determines the pitch of the beep to be emitted when the mouse button is released in steps of 1 Hz The default value is 1046 TimeDown 0 65535 This entry determines the duration of the beep to be emitted when the mouse button is pressed in steps of 1 millisecond The default value is 30 TimeUp 0 65535 This entry determines the duration of the beep to be emitted when the mouse button is released in steps of 1 millisecond The default value is 30 6 1 7 Citouchd This section contains the parameters for the behaviour of the CiTouchD as mouse driver In the section Citouchd the following entries are possible Stack 0 64 This entry determines the amount of stack that CiTouchD reserved for itself The value entered here corresponds to the stack size in blocks of 256 byte In case of Stack 0 CiTouchD works with the stack of the currently running program The default value is 6 HardReset 0 1 2 This entry determines whether a reset of the Touch is to be carried out in the mouse API functions Software Interrupt 33h 00h int33ResetAnd
10. Border Beyond this Y border the acceleration is active corresponds to acBorderY X Mul Acceleration factor for X direction corresponds to acMulX Y Mul Acceleration factor for Y direction corresponds to acMulY Settings X Offset Corresponds to dsOfsX Y Offset Corresponds to dsOfsY 5 1 4 4 Control of background illumination The IRT comprises a Touch Saver function that is automatically activated if the Touch Zone was not interrupted for a certain adjustable period of time If the Touch Saver is active the scan rate of the light barriers is decreased too Therefore with activated Touch Saver the IRT responds slower to Interruptions of the Touch Zone than with a deactivated Touch Saver In addition to that the IRT comprises a PWM output that for example can be used to control the background illumination of TFT displays For each of the two Touch Saver states active and inactive the CiTouchD driver assigns a certain mark to space ratio and therewith a varying background illumination intensity to the PWM output The activation time of the Touch Saver can be set by means of the following API functions citGetTouchSettings Function OCh Request activation time citSetTouchSettings Function 15h Change activation time The corresponding elements of the structure TOUCHSETTINGS refer to page 48 are isTSaver Activation time of Touch Saver 0 immediately active 65535 deactivated tsTScan Time interval between two scan operations at
11. ES DI Pointer onto a DRIVERSETTINGS structure with the new driver parameters AX 0001h The new parameters could be set AX 0000h The parameters could not be changed The new driver parameters are changed according to the DRIVERSETTINGS structure the pointer of which was passed in ES DI For a description of this structure refer to page 47 If the parameters could not be changed the old status remains citSetTouchSettings AL 15h AH Identification number of the CiTouchD driver ES DI Pointer onto a TOUCHSETTINGS structure with the new IRT parameters AX 0001h The new parameters could be set AX 0000h The parameters could not be changed The new IRT parameters are changed according to the TOUCHSETTINGS structure the pointer of which was passed For a description of this structure refer to page 48 If the parameters could not be changed the old status remains citSend AL 16h AH Identification number of the CiTouchD driver BL Data byte to be transmitted to the IRT none A byte is transmitted to the IRT Supposed that the transmission buffer of the interface module is full the transmission will wait until this module is empty Commands in the CTS1 protocol have to be encoded beforehand i e the application program has to add the DC2 DC4 and SYN sequences citReceive 31 OCITRON Input Response Description Function 18h Input Response Description Function 19h Input Response
12. Set threshold for doubling of mouse speed 18 Set request current acceleration curve 20 Pol EE 25 Pre defined Mouse Button Emulation Modes 6 Pre defined Mouse Button Modes Dual Exit eo Ree hee 9 Dual Touch 0 cececceceeceeeeeeeeeeteeeeeeees 8 UL 6 2i M 7 Tap M 7 Time eene ea eee Ren 8 Time Time 2 00 0 0 cc n aare iiai eda 9 E ME 10 Pressure cti iii road di 48 Pressure Sensitivity sssssss 10 prompt parameters eese 5 p cR 5 cx tl Mae oe eae 5 d5 11 5 WA e Lech 5 Mia ld lt antes 5 Pita ira 5 Irch A 6 S Saver caia ds 48 SV Meine 48 SERIALHARDWARE sees 41 SelliligS4 cs facite P gd Pav eer fna 43 47 SmoothAlways essen 49 SIMOOUMING DEE 13 citGetDriverSettings ooooncocncccninncnnncnnnccnccnnss 13 citSetDriverSettings oooncccncccnnncnnncnnnccnconnss 13 CoordinateSkip ocooooonncccinncnnnnccncoccnnncnnnnncnos 13 SmoothAlways coocccococconocinonaccconcnnonncnnnnn canarios 13 X Smoothing ccccccoccconccnonocncnonocononcnnnnanananancnnnos 13 Y Gmoothing ke 13 SOU RE 43 49 le 50 State Machine 12 INDEX T A A eee 45 T2 DEG 45 Vash 12 Taller 7 NET BUER 49 NR CHE 6 10 Ca 23 BR un EE 12 Time to Click uta 8 9 Time to Idle he ei 8 Time to Second Ock 9 gu CN BEE 45 WR lu CN 45 TImeg Stt n Te itus 45 TimebDOowWr iio is 50 A eed ite 50 Touch Via
13. by means of the utility LDVINST For a description of this utility refer to the manual of the LDVGA Contrary to a regular mouse the CiTouchD is capable to work with absolute coordinates That means the movement of a finger on the screen surface is not converted into a relative change of the cursor position The cursor always appears at the exact position the screen is just touched In order to improve the positioning accuracy however it is also possible to work with relative coordinates The change between the coordinates modes is carried out either statically i e during the configuration or dynamically i e during the regular operation by means of a special finger movement for example a dual touch The biggest challenge at the emulation of a mouse by a Touch is the simulation of the mouse buttons Not all features of a mouse button can be simulated at the same time and with the same accuracy However due to the fact that the requirements vary between the respective application programs for example precise timing of the mouse click high safety regarding faulty usage drag and drop capability in most cases a certain share of the mouse functions is already sufficient for the use of the respective program At the CiTouchD the emulation of the mouse buttons is widely user configurable and programmable All parameters that influence the operating methods of the CiTouchD are saved in an INI file in ASCII format Therefore all settings can be ch
14. e Accurate positioning of the mouse click e Relative coordinates not useful e Cursor motion at pressed mouse button not possible Commands Time1 0 Time2 0 Time3 0 Idle_T1 1 T1_Trigger Trigger_T2 T2_UPT3 0 UPT3_lIdle UPT3_Trigger 0 Tap A mouse click is emulated if the Touch zone is released and then interrupted again within a preset time span This process is called Tap The key remains pressed until the Touch Zone is again released Tap Time t Time span in which the IRT has to be interrupted again in order to create a Tap The Tap Time can be set in steps of 55 ms between O ms and 2 s c gt citouchd exe m 2 300 e Efficient safety regarding faulty usage e Cursor motion at pressed mouse button possible e Inaccurate positioning of the mouse click when absolute coordinates are used e Relatively complicated handling Commands Time1 0 Time2 0 Time3 0 Idle_T1 2 T1_Trigger 5 Trigger_T2 6 T2_UPT3 0 UPT3_ldle 0 UPT3_Trigger 0 Settings TapTime t OCITRON m 3 t1 t2 Description Parameter Example Advantages Disadvantages CITOUCHD INI m 4 n Description Parameter Example Advantages Disadvantages CITOUCHD INI Time A mouse click is emulated if the Touch Zone is interrupted and no mouse motion occurs for a time span T1 The key remains pressed until the Touch Zone is released If within a time span T2 the Touch Zone is interrupted again a second mouse click tak
15. interval in milliseconds In this context the time required for the transmission of a coordinates message has to be regarded depends on the baud rate The default value is 22 CoordEnterZ Yes No This entry determines whether after the interruption of the Touch Zone the first reported cursor position additionally requires the pressure exerted onto the screen to exceed its limit value However for that the IRT needs to be equipped with a Z axis The default value is No 0 CoordinateSkip 0 65535 This entry determines the number of coordinates messages of the IRT to be disregarded after the interruption of the Touch Zone The default value is 1 47 OCITRON CITOUCHD INI CoordSignalZ Yes No This entry determines whether after the interruption of the Touch Zone further cursor positions additionally require the pressure exerted onto the screen to exceed its limit value The default value is No 0 DblErrSkip 0 65535 This entry determines the number of dual touching messages of the IRT to be disregarded before a dual touching is actually detected The default value is 1 DimmingHigh 2 0 255 This entry determines the mark to space ratio of the IRT s PWM output at deactivated Touch Saver The default value is 0 DimmingLow 0 255 This entry determines the mark to space ratio of the IRT s PWM output at activated Touch Saver The default value is 0 MinXBeams 1 5 This entry determines the number of X light barriers that ha
16. position and status of emulated mouse button Move mouse cursor Determine the number of operations of emulated mouse button How often was the emulated mouse button released Set horizontal moving range of mouse cursor Set vertical moving range of mouse cursor Define mouse cursor in video mode Define mouse cursor in text mode Read motion values Install Event Handler Activate emulation of light pen Deactivate emulation of light pen Set ratio between mickeys and pixels Define area in which mouse function is excluded Set threshold for doubling of mouse speed Swap Event Handlers Determine size of touch status buffer Save touch status Restore touch status Install alternative Event Handler Determine address of alternative Event Handlers Set mouse sensitivity Request mouse sensitivity Set Interrupt rate of mouse hardware Set screen page for mouse cursor Determine screen page of mouse cursor Deactivate Touch driver Activate Touch driver Software reset of CiTouchD driver Set language for messages Request language for messages Inquire version mouse type and IRQ Inquire general information Request expansion of the virtual mouse screen Request bit masks of screen cursor 17 OCITRON 28h int33SetVideoMode 29h int33InquireVideoModes 2Ah int33GetCursorlnfo 2Bh int33SetAcceleration 2Ch int33GetAcceleration 2Dh int33GetSelectAccel 2Fh int33HardReset 30h int33InquireBallpoint 31h int33GetVirtualScre
17. range in Touch coordinates Height of acceleration range in Touch coordinates The items acMulX and acMulY are signed fixed point numbers Their value range is calculated by the formulas acMulX nax _ 32767 dcFixedBias acMulY ax caMulX 8 32767 dcFixedBias caMulY The scaling factor dcFixedBias for the fixed point numbers can be requested by means of citGetDriverConstants function OEh The items caMulX or caMulY respectively can be requested by means of citGetCalibrationAbs function 09h The items acBorderX and acBorderY are declared in Touch coordinates Their value range is acBorderX mnax 32767 acBorderY max 32767 BUTTONBEEP This structure contains the parameters for the mouse click creation Type WORD WORD WORD WORD WORD Name bbFreqDown bbTimeDown bbFreqUp bbTimeUp bbClickMode Description Frequency of beep in Hertz Hz when key is pressed Duration of beep in milliseconds ms when key is pressed Frequency of beep in Hertz Hz when key is released Duration of beep in milliseconds ms when key is released The following constants determine the conditions for a beep to be created 00h BC_OFF No beep creation 01h BC DOWN Beep creation when emulated key is pressed 02h BC_UP Beep creation when emulated key is released 37 O C IT RO N Software interface CALIBRATIONABS This structure contains the parameters for the calibration of absolute coordinates The formula
18. s Manual CiTouchD This behaviour is set by means of the following functions citGetCoordMode function 08h Request of parameters citSetCoordMode function 11h Change of parameters Both functions take the address of a COORDMODE refer to page 46 structure as argument for output data citGetCoordMode or input data citSetCoordMode In the file CITOUCHD INI the following entries control the coordinates mode Calibration XRel_Div Divisor for the X coordinates scaling corresponds to crDivX XRel_Mul Multiplier for the X coordinates scaling corresponds to crMulX YRel_Div Divisor for the Y coordinates scaling corresponds to crDivY YRel_Mul Multiplier for the Y coordinates scaling corresponds to crMulY SmoothAlways Corresponds to dsSmoothAlways CoordinateSkip Corresponds to dsCoordSkip Commands ModeChange Corresponds to cmModeChange Settings AbsoluteMouse Corresponds to dsAbsolute CoordEnterZ Corresponds to cmCoordEnterZ CoordSignalZ Corresponds to cmCoordSignalZ 5 1 4 3 Cursor Control By means of these parameters a distance between the present cursor position in relation to the touch spot as well as an accelerated movement of the cursor in relation to the finger can be set According to the installation of the IRT it may not always be possible to reach the outermost edge of the screen with a finger By means of the cursor acceleration of the CiTouchD driver outside an area of adjustable size the cursor position move
19. status remains citSetCalibrationAbs AL 12h AH Identification number of the CiTouchD driver ES DI Pointer onto a CALIBRATIONABS structure with the new absolute calibration parameters AX 0001h The new parameters could be set EX 0000h The parameters could not be changed The calibration parameters of the absolute coordinates mode are changed according to the CALIBRATIONABS structure the pointer of which was passed in ES DI For a description of this structure refer to page 44 If the parameters could not be changed the old status remains Software interface Function 13h Input Response Description Function 14h Input Response Description Function 15h Input Response Description Function 16h Input Response Description Function 17h User s Manual CiTouchD citSetCalibrationRel AL 13h AH Identification number of the CiTouchD driver ES DI Pointer onto a CALIBRATIONREL structure with the new relative calibration parameters AX 0001h The new parameters could be set AX 0000h The parameters could not be changed The calibration parameters of the relative coordinates mode are changed according to the CALIBRATIONREL structure the pointer of which was passed in ES DI For a description of this structure refer to page 44 If the parameters could not be changed the old status remains citSetDriverSettings AL 14h AH Identification number of the CiTouchD driver
20. that is used for the calibration of absolute coordinates represents a simple straight line equation y mx t with y calibrated coordinates and x coordinates provided by IRT CiTouchD expects calibrated coordinates with a value range from 0 up to 65535 Type Name Description DWORD caMulX m for the X coordinate short caAddX P for the X coordinate DWORD caMulY m for the Y coordinate short caAddY t for the Y coordinate WORD caOrientation Orientation of the IRT in relation to the display Corresponding to the position of the IRT s connecting plug in relation to the left hand side top corner of the display one of the following values is used 00h OR_TOPLEFT left hand side top corner 01h OR_TOPRIGHT right hand side top corner 02h OR BOTTOMRIGHT right hand side bottom corner 03h OR BOTTOMLEFT left hand side bottom corner The items caMulX and caMulY are unsigned fixed point numbers The scaling factor for the fixed point numbers can be requested by means of citGetDriverConstants function OEh CALIBRATIONREL This structure contains the parameters for the calibration of relative coordinates The following formula is used for the calibration of relative coordinates m Y X 7 Type Name Description short crMulX m for the X coordinate WORD crDivX d for the X coordinate short crMulY m for the Y coordinate WORD crDivY d for the Y coordinate 38 Software interface COMMANDS User s Manual Ci
21. the released condition The various states are stepped through in the direction of the arrows In the states T1 T2 and T3 a time can be determined that needs to elapse before the respective state can be left In addition to the time that has to elapse to leave state T1 the condition declared in 11 O C IT RO N Software interface T1_ Trigger has to be met at the same time Contrary to T1 for the states T2 and T3 to step to the following state it is sufficient to either meet the declared condition or wait for the time to elapse Upon entering the state TRIGGER a mouse click is emulated Upon transition to the state T3 the mouse button is released again D Condition1 Conditioni v Mouse Movement Condition2 t 0 Condition3 Condition3 Condition4 v t 0 Condition5 v t 0 Condition6 Illustration 5 1 State machine for the Mouse Button Emulation Possible conditions for state transitions e Never This condition never occurs e Immediately This condition occurs always and immediately e Enter Coordinates are reported e Z Press The pressure limit value was exceeded e Dual Touch Dual touching was detected e Tap A Tap was detected e Leave There are no more coordinates reported e Z Release The pressure fell below the limit value again e No Dual Touch There is no more dual touching detected The key emulation mode Time for instance can be programmed as follows T1 550 ms T2 0ms T3
22. the CiTouchD driver ES DI Pointer onto a COMMANDS structure for the returning of the Mouse Button Emulation parameters AX Number of bytes written into the COMMANDS structure The parameters for the Mouse Button Emulation are written into the COMMANDS structure the pointer of which was passed in ES DI For a description of this structure refer to page 45 For a description of the function of the Mouse Button Emulation refer to chapter User defined key emulation at page 12 27 OCITRON Function 08h Input Response Description Function 09h Input Response Description Function 0Ah Input Response Description Function OBh Input Response Description 28 Software interface citGetCoordMode AL 08h AH Identification number of the CiTouchD driver ES DI Pointer onto a COORDMODE structure for the returning of the coordinates output parameters AX Number of bytes written into the COORDMODE structure The parameters for the coordinates output are written into the COORDMODE structure the pointer of which was passed in ES DI For a description of this structure refer to page 46 citGetCalibrationAbs AL 09h AH Identification number of the CiTouchD driver ES DI Pointer onto a CALIBRATIONABS structure for the returning of the absolute calibration parameters AX Number of bytes written into the CALIBRATIONABS structure The calibration parameters of the absolute coordinat
23. the driver and the IRT In the section Settings the following entries are possible AbsoluteMouse Yes No This entry determines whether after an initialization of the driver absolute or relative coordinates are used If the entry ModeChange in the section Commands contains any other value than 0 the coordinates mode can be dynamically changed during regular operation The default value is Yes 1 AutoReinit Yes No This entry determines whether after an interruption of the connection between the IRT and the computer the linking should take place automatically The default value is Yes 1 BeamTimeout 0 65535 This entry determines the blank out time for defective light barriers If an interruption of any IRT s light barrier lasts longer than the time span determined here in seconds it is excluded from the coordinates calculation The value O prevents the blanking out of light barriers The default value is 20 Button 7 3 This entry determines the Mouse Button to be emulated 1 represents the left hand side Mouse Button 2 the right hand side Mouse Button and 3 both mouse buttons at the same time The default value is 1 ButtonClick Yes No This entry determines whether an acoustic signal at the PC speaker is to occur as a response to a mouse click The default value is Yes 1 ContTime 0 65535 This entry determines the time interval between two coordinates messages of the IRT The value entered here corresponds to a time
24. the fact that by its means not only one single DOS program can be accessed but that it is open ended to all TSR 20 Software interface User s Manual CiTouchD programs that require a communication interface to the outside After a TSR program was called up for the first time and is installed consequently further calls from the DOS prompt can be used to either set certain parameters in the running copy of this program or to remove it from the memory again The newly called up program establishes the contact with its already installed part via the Multiplex Interrupt Any program that wants to use the Multiplex Interrupt abbreviated MUX first needs to give itself an 8 bit identification number The identification numbers from 00h up to BFh are reserved by Microsoft for their own DOS programs However the range from COh up to FFh is available and can be used by application programs i e by own TSR programs Since the identification number can be freely chosen between COh and FFh it is may occur that several programs use the same number In order to prevent this problem any program that wants to use the Multiplex Interrupt needs to provide a function for an installation check This function is carried out if at a Multiplex Interrupt the identification number of the respective program is written into the AH register and the value 00h into the AL register If one of the already installed Handlers detects its identification number it has to ret
25. the prompt parameter 4 2 Pre defined Mouse Button Emulation Modes There is a total of 8 pre defined Mouse Button Emulation Modes One of them is selected by means of the prompt parameter m at the start of CiTouchD If there is no Mouse Button Emulation Mode explicitly selected at the start of CiTouchD the Emulation Mode determined in the section Commands of the file CITOUCHD INI is used In the following the pre defined modes are described m 0 Enter Description As soon as coordinates are reported the emulated mouse button is pressed The key remains pressed until the Touch Zone is released Parameter none Example c gt citouchd exe m 0 Advantages e Accurate timing of the mouse click e Easy handling e Cursor motion at pressed mouse button possible Disadvantages e Inaccurate positioning of the mouse click when absolute coordinates are used e Relative coordinates not useful e Little safety regarding faulty handling CITOUCHD INI Commands Time1 0 Time2 0 Time3 0 Idle_T1 2 T1_Trigger 5 Trigger T2 6 T2_UPT3 B UPTS3 Idle UPT3_Trigger 0 Configuration Jm Description Parameter Example Advantages Disadvantages CITOUCHD INI m 2 t Description Parameter Example Advantages Disadvantages CITOUCHD INI User s Manual CiTouchD Exit As soon as the Touch Zone is released a short mouse click occurs none c gt citouchd exe m 1 e Accurate timing of the mouse click e Easy handling
26. 550 ms Idle_T1 Enter T1_Trigger Enter Trigger_T2 Leave T2_UPT3 Never UPTS Idle Never UPTS3 Trigger Enter Another example is a new emulation mode called Z Press Exit Similar to the mode Dual Exit the release of the mouse button does not already happen when the pressure falls below the limit value but only after the Touch zone has been completely released The parameters for this mode are T1 20ms T220ms T3 20ms Idle T1 Enter T1 Trigger Z Press Trigger T2 Leave T2 UPT3 Never UPTS Idle Never UPT3 Trigger Never 12 Software interface User s Manual CiTouchD 5 1 4 Additional operating parameters In order to ease the mouse emulation by the IRT as much as possible there are additional parameters to adapt the behaviour of the mouse emulation to the necessities of the user and the requirements of the application program These parameters are either preset in the file CITOUCHD INI or temporarily changed by an application program calling the extended API functions 5 1 4 1 Smoothing When using absolute coordinates in the video mode the resolution of the IRT in the Mode C communication protocol is not sufficient to activate each pixel of the screen At a screen resolution of 640 x 480 pixels one IRT coordinates change equals approximately 8 pixels If the touch spot is now just at the transition of one coordinate to the other the cursor continuously jumps back and forth a few pix
27. 8 DS ariii 48 Document revision eese 2 DRIVERCONSTANTS cccccccccssseeseeeees 40 DRIVERSETTINGS mnm 41 Dual Touch 12 Dual Touch Skip CGounmt 8 9 E Entera tara ere E 12 Extended API functions 20 26 CtCheck reak 33 CIIGIOSB e e c eet redde idea 32 CitDeiecH DVGA 35 CitGetACceleration ccccccccccccscceseeeeeeeeeeeees 34 CltGetButtonbeenp 34 citGetCalibrationADS eee 28 ChtGetCalbrationbel eese 28 citGetCommandS eee 27 ChtGetCoordMode eem 28 citGetDimming eene 33 citGetDriverConstants eese 29 citGetDriverSettings ssssssss 28 IER E E 27 ei E Se EE 26 citGetSerialHardware ccccccccccccccocicicicinonoss 27 citGetTouchHardware eee 29 ChiGer TouchtGettnges nna 29 lige DEE 32 citPlaySound ue 35 ollPresence EE 26 CIHRECCIVE E 32 OCITRON citReceiveStatus sss 33 Cl E 31 citSetAcceleration sss 34 CltGeiuttonfieen ene 35 citSetCalibrationAbs oooooocincccnnnnnnnninnnccncanoos 30 ChtGeiCalbraitonbtel usse 31 citSetCommands sees 30 ChtGeiCGoorcdMode sss 30 CitSetDIMMING oooconccconiconinccononacnnannnancccnnnns 34 citSetDriverSettings sssuuss 31 ChtZetGertalHarchware ene 29 citSetTouchSettings ssuss 31 Extended d
28. Creative Industrial Electronic Systems CiTouchD Touch Driver for DOS V1 0 01x User s Manual O C IT RO N Table of contents Document revision Rev Description Revise Date Adapted to CiTouchD 1 0 010 changed some default values in CITOUCHD INI 14 Jul 1997 Adapted to new firm address 29 Aug 1997 006 New logo added 25 Feb 1998 Exclusion of liability The contents of this manual serve for information purposes only Citron GmbH reserves the right to change the contents of this manual without prior notice While reasonable efforts have been made in the preparation of this manual to assure its accuracy errors may occur Therefore Citron GmbH assumes no liability resulting from errors or omissions in this manual or from the use of the information contained herein Citron GmbH appreciates suggestions with regard to improvements or corrections This manual and the Software described herein are subject to copyright O Copyright 1992 1997 CITRON GmbH Anwaltinger Str 14 86165 Augsburg Germany Tel 49 821 749450 FAX 49 821 7494599 E mail info citron de http Awww citron de ALL RIGHTS RESERVED Document information File name ntserv1 dokument manuals citouchd ctd_e_r005 doc Date 29 08 97 11 40 Document revision 3 Document reference h dformat dot cidoku dot Table of contents User s Manual CiTouchD 1 Table of contents 1 Table auccm 3 2 Introduction iisscox
29. D EXE AL 1Bh AH Identification number of the CiTouchD driver DH Main version number DL Sub version number AH Revision number AL Stage The version number of CiTouchD is requested However by means of the function int33Inquire the Microsoft mouse driver compatible version is returned citCheckBreak AL 1Ch AH Identification number of the CiTouchD driver AX 0001h There were 100ms Breaks detected AX 0000h There were no 100ms Breaks detected A not initialized IRT transmits BREAK signals in time intervals of 100ms By means of this function a serial interface can be searched for these signals citGetDimming AL 1Dh AH Identification number of the CiTouchD driver ES DI Pointer onto a DIMMING structure for the returning of dimming parameters AX Number of bytes written into DIMMING structure The parameters for the control of the PWM output of the IRT are written into the DIMMING structure the pointer of which was passed in ES DI For a description of this structure refer to page 46 33 OCITRON Function 1Eh Input Response Description Function 20h Input Response Description Function 21h Input Response Description Function 22h Input Response Description 34 Software interface citSetDimming AL 1Eh AH Identification number of the CiTouchD driver ES DI Pointer onto a DIMMING structure with the new parameters for the control of the IRT s PWM outp
30. DStr DS SI points to compare string REPE cmpsb jnz SearchlDLoopNext No match gt carry on search mov IDNr bl else store ID number and jmp Detect search LDVGA SearchIDLoopNext 23 OCITRON inc bx cmp bx 0100h PIL ZA jne SearchIDLoop P Software interface look if search for all possible ID numbers gt if not next try ID String not found gt quit with error message mov jmp dx OFFSET MsgErr PrintOut LA DS DX points to message check presence of LDVGA via multiplex function DETECTLDVGA Detect mov al DETECTLDVGA mov ah IDNr EL IE 02Fh or ax ax A jz NotFound IZ mov dx OFFSET MsgFound AA jmp PrintOut NotFound mov dx OFFSET MsgNoLDVGA ZA PrintOut mov ah 09h A int 21h MainExit mov ax 04C00h ZIZ int 21h Start ENDP END Start 5 3 2 Summary of the extended API functions use examined ID number have we found the LDVGA gt NO DS DX points to message DS DX points to message Request print string function 09h end program The following charts list a brief summary of all CiTouchD API functions in functional order 5 3 2 1 Requesting CiTouchD parameters By means of these commands all configuration parameters of the CiTouchD driver can be read out No 05h 06h 07h 08h 09h 0Ah OBh OCh ODh OEh 1Bh 1Dh 20h 22h 27h Designation citGetFlags citGetSerialHardware citGetCommands citGetCoordMode citGetCalibrationAbs citGetCalibrationRe
31. Dual Touch Tap Leave Z Release No Dual Touch 0 JO Oo PS oO M h o In the section Commands the following entries are possible ldle T1 0 8 This entry determines the condition for the transition from status IDLE to the status T1 The default value is 2 ModeChange 0 3 4 5 Condition for the change between absolute and relative coordinates The default value is 0 T1_Trigger 0 8 This entry determines the condition for the transition from status T1 to the status TRIGGER The default value is 4 T2_UPT3 0 8 This entry determines the condition for the transition from status T2 to the status T3 The default value is 0 Time1 0 65535 This entry determines the time constant for the status T1 The value entered here corresponds to the desired time constant in milliseconds The default value is 0 Time2 0 65535 This entry determines the time constant for the status T2 The value entered here corresponds to the desired time constant in milliseconds The default value is 0 Time3 0 65535 This entry determines the time constant for the status T3 The value entered here corresponds to the desired time constant in milliseconds The default value is 0 45 OCITRON CITOUCHD INI Trigger T2 2 0 8 This entry determines the condition for the transition from status TRIGGER into the status T2 The default value is 6 UPTS3 Idle 0 8 This entry determines the condition for the transitio
32. IOS functions respectively may not be called Upon the call of the Event Handler the registers are set to the following values AX Status of reception buffer like at citReceive function 17h CX Number of bytes in the reception buffer ES DI Pointer onto the reception buffer read only register The Event Handler has to return one of the following values to AX 00h Reception buffer was not read status of buffer not to be changed 01h Reception buffer was read contents of buffer to be erased 6 CITOUCHD INI The CiTouchD driver saves its parameters in the file CITOUCHD INI When CiTouchD is started the values saved here are used unless they are overwritten by parameters entered at the prompt 42 CITOUCHD INI User s Manual CiTouchD In the following the various sections and entries of the file CITOUCHD INI are listed in alphabetical order If an entry is omitted either the default value that is saved in the driver or the respective prompt parameter is used Sections of the file CITOUCHD INI Section Function Acceleration Parameters for the cursor acceleration Calibration Calibration of absolute and relative coordinates Commands Mouse button emulation Hardware Parameters of the serial interface Settings General settings for the driver and the IRT Sound Settings for the mouse click creation Citouchd Settings for the behaviour of CiTouchD as mouse driver 6 1 1 Acceleration This section contains the parameters
33. IRT s PWM output 40 21h citSetAcceleration Parameter for cursor acceleration 40 23h citSetButtonBeep Parameter for mouse clicks 41 28h citSetCitdFlags Setting of the Hardware Reset Handling 42 5 3 2 3 Communication with the IRT The CiTouchD driver provides an easy to handle interface for both transmitting commands to the IRT and receiving of reports from the IRT Before an application program is able to communicate with the IRT the reception channel needs to be opened by means of the function citOpen However a CiTouchD driver with an open reception channel does not report cursor motions or mouse clicks anymore Therefore it is essential not to forget the call up of citClose after having received the desired reports Only complete reports are sent from the IRT to the application program This way it is not necessary for the application program having to recognize reports limits However only those IRT functions can be used that do not require a new initialization of the IRT Therefore especially a reprogramming of the IRT s FLASH Memory is not possible Two methods are provided for the reception of IRT reports Polling and Notification At the Polling the function citReceiveStatus has to request continuously whether there is a complete report from the IRT available Is this the case the report can be read by means of the function citReceive At the Notification however an Event Handler of the application program is called up as soon a
34. MC_TAP Meaning Never change mode TRUE as soon as a certain pressure onto the Touch Zone is exceeded TRUE as soon as a dual touching of the Touch Zone occurs TRUE when the Touch Zone is released and then interrupted again within a certain period of time tap 39 O C IT RO N Software interface COORDMODE The structure contains the parameters for the coordinates creation Type Name Description BOOL cmOCoordEnterZ TRUE The first coordinates message after interrupting the Touch Zone requires the preset limit value for the pressure exerted onto the front screen to be exceeded FALSE The first coordinates message immediately occurs after interrupting the Touch Zone BOOL cmCoordSignalZ TRUE Additional coordinates messages also require the preset limit value for the pressure exerted onto the front screen to be exceeded FALSE For additional coordinates messages it is sufficient that the Touch Zone remains interrupted DIMMING The structure contains the parameters for the control of the PWM output of the IRT Type Name Description WORD bIDimmingHigh Mark to space ratio at deactivated Touch Saver WORD bIDimmingLow Mark to space ratio at activated Touch Saver BOOL blSaverActive TRUE at activated Touch Saver The values for b DimmingHigh and blDimmingLow range from 0 up to 255 If both values equal 0 the mark to space ratio is set to its maximum regardless of the status of the Touch Saver The activation time for the Tou
35. Status and 2Fh int33HardReset Since in case of failure this process may take up to 10 seconds the reset can be deactivated The default value is 0 Value Meaning 0 A reset of the Touch is carried out neither in function 00h nor in function 2Fh 1 A reset of the Touch is carried out in function int33HardReset only 2 A reset of the Touch is carried out either in function 00h or in function 2Fh 50 INDEX 7 INDEX A absolute coorcinates nenene 13 AbsoluteMouse ooccccnccccccccnoconcnncncnccnonnconnnnnnnnnos 47 ACCELERATION enne 37 43 API functiions eee cece cee enseeeeeeeeeeeanees 17 Asynchronous state machine 11 Tute EE 47 B Backlight Dimming eee 16 ChtGettmming conan 16 citGetTouchSettings uses 16 CitSetDIMMING oooocnnncccincccnonccnnonaninananana conan 16 citSetTouchSettings oooccccncccnonocnncccnancccnnnos 16 D mmmotioh 16 Bill luet e VE 16 Sa VOI SCAN tetra illes o che 17 SAV ENING it a tl 17 EIB RI 46 BeamrTimeout cooccccnccccnnnnonicnnonannnnnananinonaninanananos 47 EI ele EE 47 BUTTONBEEP eene 37 BUttON r Te has ecrire hn 47 49 Button Machine 11 C A EEN 43 44 CALIBRATIONASBS eee 38 CALIBRATIONREL esee 38 CiToUuchD ita 4 43 50 CITOUCHD INI eere 43 Citron Infrared Touch 4 COMMANDS e 39 43 45 Control of background illumination 16 Cont H i
36. TouchD This structure contains the parameters for Mouse Button Emulation The creation of a mouse click is described at the chapter User defined key emulation at page 12 Type WORD WORD WORD Name Description cmdT1 First time constant in steps of 1 ms cmdT2 Second time constant in steps of 1 ms cmdT3 Third time constant in steps of 1 ms cmdldleT1 Condition 1 cmdT1 Trigger Condition 2 cmdTriggerT2 Condition 3 cmdT2UpT3 Condition 4 cmdUpT3Idle Condition 5 cmdUpT3Trigger Condition 6 cmdModeChange Condition for the change between absolute and relative coordinates cmdReserved1 reserved Possible values for the conditions from 1 to 6 Value 00h 01h 02h 03h 04h 05h 06h 07h 08h Designation BM_NEVER BM_IMMED BM_ENTER BM_ZPRESS BM_DUAL BM_TAP BM_LEAVE BM_ZRLSE BM_NODUAL Meaning Never TRUE Always TRUE TRUE as soon as the Touch Zone is interrupted TRUE as soon as a certain pressure onto the Touch Zone is exceeded TRUE as soon as a dual touching of the Touch Zone occurs TRUE when the Touch Zone is released and then interrupted again within a certain period of time tap TRUE as soon as Touch Zone is released TRUE as soon as the pressure exerted onto the Touch Zone falls below its limit value again TRUE as soon as the dual touching of the Touch Zone ends The following values can be used for the field cmdModeChange Value 00h 03h 04h 05h Designation MC_NEVER MC_ZPRESS MC_DUAL
37. activated TouchSaver The following API functions are used to set the intensity of the background illumination citGetDimming Function 1Dh Request of illumination intensity citSetDimming Function 1Eh Change of illumination intensity Both functions take the address of a DIMMING refer to page 46 structure as argument for output data citGetDimming or input data citSetDimming In the file CITOUCHD INI the following entries control the Touch Saver function Settings DimmingHigh Illumination intensity with inactive Touch Saver regular operation corresponds to tsDimmHigh DimmingLow Illumination intensity with active Touch Saver corresponds to tsDimmLow SaverScan Corresponds to tsTScan SaverTime Corresponds to tsTSaver 16 Software interface 5 1 5 Call of the API functions An application program communicates with the CiTouchD driver via software interrupts To do so the program writes the function number into the AL register and then releases the respective software Interrupt Additional parameters are written into the other registers of the processor The exact usage of the registers is explained in the respective functional descriptions User s Manual CiTouchD 5 2 Emulated mouse driver functions of Int33 API The Int 33 API Application Program Interface Interrupt 33h of the CiTouchD driver is compatible to the Microsoft mouse driver version 8 0 Therefore this chapter is confined to the particularities of some func
38. al corresponds to the value entered here in milliseconds The default value is 500 X_Offset 32768 32767 This entry determines the X distance between the touch spot and the current cursor position Positive values shift the cursor position towards the right hand side negative values towards the left hand side The default value is 0 X Smoothing 0 dcSmoothMax 1 This entry determines the number of coordinates messages of which an average value is calculated for the smoothing of absolute X coordinates The upper limit can be requested by means of the function citGetDriverConstants The default value is 10 Y Offset 32768 32767 This entry determines the Y distance between the touch spot and the current cursor position Positive values shift the cursor position downwards negative values upwards The default value is 0 Y Smoothing 0 dcSmoothMax 1 This entry determines the number of coordinates messages of which an average value is calculated for the smoothing of absolute Y coordinates The upper limit can be requested by means of the function citGetDriverConstants The default value is 10 6 1 6 Sound This section contains the parameters for the creation of the mouse click In the section Sound the following entries are possible ButtonClick 2 0 1 2 3 This entry determines the conditions for a beep to be emitted To do so one or a combination of the following values can be used Value Meaning 0 No beep emitted 1
39. and However a CiTouchD driver with an open reception channel does not report cursor motions or mouse clicks anymore Therefore it is essential not to forget the call up of citClose function 19h after having received the desired reports citClose AL 19h AH Identification number of the CiTouchD driver AX 0001h Reception channel could be closed AX 0000h Reception channel could not be closed Possible causes for that are either an already closed reception channel or a driver that was not initialized For the CiTouchD driver to restore its normal function as a mouse driver the reception channel that was opened earlier to be able to receive reports has now to be closed again Software interface Function 1Ah Input Response Description Function 1Bh Input Response Description Function 1Ch Input Response Description Function 1Dh Input Response Description User s Manual CiTouchD citReceiveStatus AL 1Ah AH Identification number of the CiTouchD driver AX Status of the reception buffer Possible return values 00h CRS_IDLE No report available 01h CRS_READY A report was received 02h CRS_OVER Further reports were received However the reported that was received first still completely exists in the buffer The driver was not opened by citOpen function 18h 04h CRS_CLOSE The current status of the reception buffer is requested Versions number of CITOUCH
40. anged either during the installation or during regular operation 3 Loading CiTouchD The CiTouchD driver is loaded by executing the file CITOUCHD EXE either from the MS DOS prompt or from the AUTOEXEC BAT and stays resident in the computer s memory Before starting CiTouchD the IRT needs to be connected to a serial interface of the computer Please note that in order to operate the CiTouchD driver the serial interface has to be capable of interpreting Interrupts If a Citron LDVGA graphics card is used in conjunction with the LDRI board the connecting cable to the display unit already took care of an adequate connection of the IRT In this case only the base address and the Interrupt channel for the SIO1 of the LDVGA board are still to be set This is carried out by means of the utility LDVINST For a description of this utility refer to the manual of the LDVGA 4 Configuration The parameters to configure the behaviour of the CiTouchD can be set in three different ways 1 Passed on as a prompt parameter 2 As entries in the file CITOUCHD INI 3 Calls from the programming interface Int 33h or Int 2Fh API The CiTouchD uses the parameters in the following order First the driver reads its parameters from the file CITOUCHD INI In case of a specific entry missing its default value is used If the program was started with additional prompt parameters these parameters overrule the ones from the file CITOUCHD INI The prompt parameters will
41. ch Saver is determined by means of citSetTouchSettings function 15h The value for biSaverActive is set by means of citGetDimming function 1Dh The function citSetDimming function 1Eh disregards this parameter therefore it is neither able to activate nor deactivate the Touch Saver DRIVERCONSTANTS 40 This structure contains the unchanging parameters constants of the CiTouchD driver Type Name Description WORD dcSmoothMax Upper limit for the smoothing factors The smoothing factors have to be smaller than the value declared here WORD dcFixedBias Scaling factor of the fixed point format for the calibration of absolute coordinates WORD dcReportMax Maximum size of buffer for the reception of IRT reports WORD dcKeyNum The IRT is operated in the key mode in which one single key is defined by means of the number declared here WORD dcKeyMode Operating mode of the key in the Mode C protocol Software interface DRIVERSETTINGS User s Manual CiTouchD This structure contains the variable parameters of the CiTouchD driver Type Name WORD dsSmoothX WORD dsSmoothY short dsOfsX short dsOfsY WORD dsTapTime WORD dsCoordSkip WORD dsDberrSkip WORD dsButtonNum BOOL dsAutolnit BOOL dsButtonClick BOOL dsAbsolute BOOL dsSmoothAlways SERIALHARDWARE Description Smoothing factor for the X axis Smoothing factor for the Y axis X distance between touch spot and cursor position Y distance between touch spot and cursor position
42. e e e e e e e e e detectLDVGA Check if LDVGA graphics card is present Microsoft C example KK e Ke e e e e eK e e Ke e e ke e Ke e e OR e e Ke e e e e eK e e e Kk e e e e Ke e e o e e e e e e e e ee Al include conio h include lt dos h gt include lt stdio h gt include lt string h gt define IDENSTR CiTouchD define IDSTRLEN 8 define PRESENCE 0x00 Literal for interrupt 2f function 00h define DETECTLDVGA 0x25 Literal for interrupt 2f function 25h 37d int main void union _REGS ir or struct _SREGS sregs int i unsigned char idenNr Identify number of CiTouchD void far pIdenStr Zort i 0xC0 i 0x100 itt ID number from 0xC0 0xFF are allowed for non system TSRs using MUX interrupt EL ir h al PRESENCE Verify presence function Se ir h ah i Identify number Ke int86x 0x2F amp ir amp or sregs Look if a tsr with multiplex support is installed under this identify number a7 if or h al OxFF point to given identifier string pIdenStr void far unsigned long sregs es lt lt 16 or x di Look if identifier string matches searched one a if fstrncmp pldenStr IDENSTR IDSTRLEN 21 O C IT RO N Software interface break J if i 256 printf nCiTouchD not installed n else idenNr unsigned char i store identify number detect LDVGA ir h al DETECTLDVGA i
43. e identify number detect LDVGA Regs AL citDetectLDVGA Regs AH idenNr Intr 2F Regs if Regs AX lt gt 0 then writeln LDVGA found else writeln No LDVGA detected end end Example in Assembler ELISA AAA AA AAA AAA AAA AAA AAA AAA AAA ILALA LULLA LULIS ASA AAA A AAA AAA AIAYS Swit cha Switch back to TBT Assembler example Assemble with MASM or TASM ELISA AAA AAA A AAA Mg AAA AAA AAA ASIA mnn ttt IIH MODEL small pascal DOSSEG CR EQU 13t LF EQU 10t IDLEN EQU 8t PRESENCE EQU 000h DETECTLDVGA EQU 025h STACK DATA MsgErr BYTE CR LF CiTouchD not installed CR LF SI MsgFound BYTE CR LF LDVGA found CR LF MsgNoLDVGA BYTE CR LF No LDVGA detected CR LF S IDStr BYTE CiTouchD 0 Multiplex indentifier string IDNr BYTE Storage for found MUX code CODE Start PROC NEAR mov ax DGROUP Initialize DS mov ds ax Start searching with number 0COh 0FFh mov bx OCOh only bl is of interest bx is used for easier overflow test cla String compare from left to right SearchIDLoop mov al PRESENCE verify presence function mov ah bl next identifier number to search for int 02Fh Look if a tsr with multiplex support is installed under this identify number cmp al OFFh jne SearchIDLoopNext Look if identify string matches ES DI points to CiTouchD if right tsr mov cx IDLEN mov si OFFSET I
44. els In order to prevent this annoying effect a smoothing factor can be set To do so an average value of a certain number of IRT coordinates messages is created The number of coordinates messages to be taken into consideration for the calculation of this average value can be determined for the X and Y axis separately The API functions and the corresponding structure elements for the smoothing parameters are as follows citGetDriverSettings function OBh Requesting the settings citSetDriverSettings function 14h Changing the settings The corresponding elements of the structure DRIVERSETTINGS refer to page 47 are dsSmoothX Smoothing factor of the X axis dsSmoothY Smoothing factor of the Y axis dsSmoothAlways 0 after each new interruption of the Touch Zone the creation of the average value is started anew That means at first the cursor is positioned directly onto the touch spot The average value is created of additional cursor motions only 1 after leaving the Touch Zone the old average value remains If the Touch Zone is interrupted a second time according to the determined smoothing factor the cursor moves from its old position step by step towards the new touch spot dsCoordSkip Determines the number of coordinates messages of the IRT to be skipped before a new cursor position is reported Skipping the first coordinates messages may prove useful for example if the IRT is installed rather far away from the screen surface In
45. en 32h int33InquireFunc 33h int33InquireAll 34h int33Getlni Software interface Set video mode Inquire a list of available video modes Request information about mouse cursor Set acceleration curve Read out current acceleration curve Set request current acceleration curve Reset of Touch hardware Determine request settings of ballpoint mouse Request expansion of the virtual screen Inquire supported functions Inquire settings Determine path to CITOUCHD INI 5 2 2 Particularities of the Int 33 API emulation Some functions of the Int 33 API vary in details from the Microsoft mouse driver These functions are described in the following Function 13h Input Response Particularities Function 1Ah Input Response Particularities Function 1Ch Input Response Particularities 18 Set threshold for doubling of mouse speed AX 0013h DX Threshold for doubling of mouse speed none The threshold for doubling of mouse speed in DX is internally saved besides that however ignored Set mouse sensitivity AX 001Ah BX Number of horizontal mickeys that correspond to 8 pixels CX Number of vertical mickeys that correspond to 8 pixels DX Threshold for doubling of mouse speed none The threshold for doubling of mouse speed in DX is internally saved besides that however ignored Set Interrupt rate of mouse hardware AX 001Ch BX Interrupt rate none The rate
46. es mode are written into the CALIBRATIONABS structure the pointer of which was passed in ES DI For a description of this structure refer to page 44 citGetCalibrationRel AL OAh AH Identification number of the CiTouchD driver ES DI Pointer onto a CALIBRATIONREL structure for the returning of the relative calibration parameters AX Number of bytes written into the CALIBRATIONREL structure The calibration parameters of the relative coordinates mode are written into the CALIBRATIONREL structure the pointer of which was passed in ES DI For a description of this structure refer to page 44 citGetDriverSettings AL OBh AH Identification number of the CiTouchD driver ES DI Pointer onto a DRIVERSETTINGS structure for the returning of the driver parameters AX Number of bytes written into the DRIVERSETTINGS structure The variable driver parameters are written into the DRIVERSETTINGS structure the pointer of which was passed in ES DI For a description of this structure refer to page 47 Software interface Function OCh Input Response Description Function ODh Input Response Description Function OEh Input Response Description Function OFh Input Response Description User s Manual CiTouchD citGetTouchSettings AL 0Ch AH Identification number of the CiTouchD driver ES DI Pointer onto a TOUCHSETTINGS structure for the returning of the variable IRT parameters AX
47. es place immediately This way a double click can be created Time to Click t1 After this time has elapsed the first mouse click occurs T1 can be set in steps of 55 ms between 0 ms and 2 s Time to Idle t2 If within this time span the Touch Zone is interrupted again the second mouse click takes place immediately T2 can be set in steps of 55 ms between 0 ms and 2 s c gt citouchd exe m 3 500 300 e Easy handling e Cursor motion at pressed mouse button possible e Inaccurate timing of the mouse click e Little safety regarding faulty handling Commands Time1 t1 Time2 0 Time3 D Idle_T1 T1_Trigger Trigger_T2 T2_UPT3 0 UPTS3 Idle UPT3_Trigger 2 Dual Touch If the Touch Zone is interrupted and a second interruption occurs simultaneously a mouse click is emulated The mouse button remains pressed for the duration of this dual touch Dual Touch Skip Count n Determines the number of dual touch messages to be skipped before the mouse click is emulated The number of messages to be skipped can be set between 0 and 255 c gt citouchd exe m 4 1 e Easy handling e Accurately localized and timed positioning of the mouse click e Little safety regarding faulty handling e Cursor motion at pressed mouse button not possible Commands Time1 0 Time2 0 Time3 0 Idle_T1 2 T1_Trigger 4 Trigger_T2 8 T2_UPT3 0 UPT3_lIdle 0 UPT3_Trigger 0 Settings DbIErrSkip n Configuration m 5 n Descrip
48. et cette ene oet tie inde rte 47 GoordEnterZ reete etae 47 Coordinates mode e 13 Abeolutekouse 15 citGetCalibrationRel eese 14 citGetCommandS eem 14 citGetCoordMoOde eem 15 citGetDriverSettings essssss 14 ChtGetCalbrationbiel 14 CitSetCOMMAndS concncnnncncncnonininnninnnnanacinaness 14 ChtGetCoordMode eem 15 citSetDriverSettings esessss 14 CoordEnterZ essen 15 CoordinateSkip sss 15 CoordSignalZ Ee 15 sl T EE 14 Modechange seen 15 Gmooihb Alwavs oocoococccnnonononoccconccononananncnnnncnos 15 XRO DIV sees eege e dee 15 User s Manual CiTouchD XRel Mul 15 bel DVM ae 15 Rel Mula 15 Z Press EE 14 Z Press Enter EAR ve 14 Coordinates systems ssssssssss 11 CoordinateSkip ssssssesssss 47 COORDMODE nennen 40 eelste EE 48 Cursor acceleration cese 15 Cursor Cohltol 5 vincet eats 15 citGetAcceleration eee 16 citGetDriverSettings seusssss 16 citSetAcceleration eee 16 citSetDriverSettings seusssss 16 Le EE 16 XEM A eke e eeu 16 AO Mi ee 16 YA BOrd6t i heit 16 O A Mitra E EAS 16 PALO CI PEE 16 D DbIErrSkip icit eter ttd 48 DIMMING emn 40 DimmingHigh eene 4
49. f k 0 CiTouchD uses the stack of the currently running program fi 0 15 Hardware 4 Determines number IRQ to be used Interrupt by serial interface Jm 0 7 Commands 3D Touch 7 Mouse Button Emulation Modes for possible entries 2D Touch 5 depending on the mode additional refer to next chapter parameters are required These are separated by commas without any blanks lp 1 FFF Hardware 3F8 Determines base address of serial F IO Base interface This parameter is interpreted as hexadecimal number There are no preceding zeros required Jr 0 2 Citouchd 0 Determines whether Touch is reset by HardReset the Mouse API Functions 00h and 2Fh reset lasts up to 10 seconds 0 No reset 1 reset in function 2Fh only 2 reset in function 00h only O CITRON Configuration It 0 1 2 Hardware 0 Determines communication protocol 128 IRT_Mode of connected IRT 0 automatic detection 1 Mode C 2D Touch 2 CTS1 3D Touch If the correct communication protocol is determined by this parameter the linking of the IRT takes place faster than with the automatic detection The columns of the table above have the following meaning Parameters Syntax of the prompt parameter Range Permitted value range CITOUCHD INI Section and respective entry in the file CITOUCHD INI Default Value that is used if both the prompt parameter and the entry in the file CITOUCHD INI are missing Description Brief description of the function of
50. face 5 3 3 Reference of the extended API functions In the following a reference of the extended API functions is listed in numerical order These functions can be accessed via the Int 2Fh Multiplex Interrupt How to determine the required identification number of the CiTouchD driver was already described earlier in this manual Function 00h Input Response Description Function 01h Input Response Description 26 citPresence AL 00h AH Identification number of the CiTouchD driver AL OFFh Identification number valid ES DI points onto a string with 8 characters of length AL 00h No resident program with this identification number available In this case is ES DI invalid If CiTouchD is installed this function returns the value FFh to the AL register and a pointer onto the identification string CiTouchD ASCIIZ Format to the ES DI register pair Exclusively in this case the other functions of the Multiplex Interrupt can be called up too The value to be written into register AH depends on the computer s configuration For a detailed description refer to the chapter Determining the identification number at page 25 citGetPSP AL 01h AH Identification number of the CiTouchD driver ES DI 2 Segment and offset of the resident part of CiTouchD This function provides the PSP of the resident part of the driver Software interface Function 05h Input Response Description Function 06h Inp
51. for the cursor acceleration when absolute coordinates are used In the section Acceleration the following entries are possible X_Border 0 32767 This entry determines the width of the area in which the cursor is accelerated in comparison to the finger movement The default value is 7864 which equals 24 Y Border 0 32767 This entry determines the height of the area in which the cursor is accelerated in comparison to the finger movement The default value is 7864 which equals 24 X_Mul 0 32767 dcFixedBias caMulX This entry determines the factor with which the cursor is accelerated in comparison to the finger movement in X direction The default value 256 which equals a factor of 1 0 Y Mul 0 32767 dcFixedBias caMulY This entry determines the factor with which the cursor is accelerated in comparison to the finger movement in Y direction The default value 256 which equals a factor of 1 0 43 OCITRON CITOUCHD INI 6 1 2 Calibration This section contains the calibration parameters for absolute and relative coordinates In the section Calibrations the following entries are possible X Add 32767 32767 This entry determines the offset of the straight line equation for the calibration of absolute X coordinates The default value is 0 X_Mul 0 65535 This entry determines the slope of the straight line equation for the calibration of absolute X coordinates X_Mul represents an unsigned fixed point number
52. icate that it is not possible to request modes the value 0 is always returned to CX Set acceleration curve AX 002Bh BX Number of acceleration curve to be activated ES Segment address of identification data SI Offset address of identification data AX FFFFh error or 0021h OK BX Number of mouse buttons Since acceleration curves in conjunction with an IRT do not make sense a FFFFh is always returned to AX 19 OCITRON Function 2Ch Input Response Particularities Function 2Dh Input Response Particularities Function 30h Input Response Particularities Software interface Read out current acceleration curve AX 002Ch AX Function status lt gt 0 error or 0000h OK BX Number of current acceleration curve 0 3 ES Segment address of buffer SI Offset address of buffer Since acceleration curves in conjunction with an IRT do not make sense a FFFFh is always returned to AX Set request current acceleration curve AX 002Dh BX 1 request current acceleration curve or BX 1 4 activate this acceleration curve AX Function status lt gt 0 error or 0000h OK BX Number of current acceleration curve 0 3 ES Segment address of buffer with designation of curve SI Offset address of buffer with designation of curve Since acceleration curves in conjunction with an IRT do not make sense a FFFFh is always returned to AX Determine
53. ickeys and 8 virtual pixels to be set Relative coordinates are signed Negative vectors represent a movement towards the left hand side and up positive vectors represent a movement towards the right hand side and down 5 1 2 Supported video modes All video modes that are set by the function 00h of the EGA VGA BIOS are supported Screen mode Text Graphics Resolution Virtual screen 00h Text 40 25 characters 320 200 dots 01h Text 40 25 characters 320 200 dots 02h Text 80 25 characters 640 200 dots 03h Text 80 25 characters 640 200 dots 04h Graphics 320 200 dots 320 200 dots 05h Graphics 320 200 dots 320 200 dots 06h Graphics 640 200 dots 640 200 dots 07h Text 80 25 characters 640 200 dots ODh Graphics 320 200 dots 320 200 dots OEh Graphics 640 200 dots 640 200 dots OFh Graphics 640 350 dots 640 350 dots 10h Graphics 640 350 dots 640 350 dots 11h Graphics 640 480 dots 640 480 dots 12h Graphics 640 480 dots 640 480 dots 13h Graphics 320 200 dots 320 200 dots 5 1 3 User defined key emulation In the CiTouchD driver mouse button events are created by the so called Button Machine This Button Machine represents a programmable asynchronous state machine The transition from one state to the next one takes place as soon as all the required conditions are met Illustration 5 1 shows the exact state transition diagram of the Button Machine After the initialization of the driver the Button Machine is in state IDLE All mouse buttons are in
54. if the IRT is equipped with pressure sensors If the preset limit value of the pressure exerted onto the front screen is exceeded a change takes place between the absolute and the relative coordinates mode 4 At each dual touching a change takes place between the absolute and the relative coordinates mode 5 At each Tap a change takes place between the absolute and the relative coordinates mode for the description of a Tap please refer to page 8 In order to prevent the risk of faulty usage at critical applications it is possible to confine the conditions for the cursor to change The following conditions are possible e Enter cmCoordEnterZ 0 cmCoordSignalZ 0 A new cursor position is reported as soon as a valid interruption of the Touch Zone occurs e Z Press Enter cmCoordEnterZ 1 cmCoordSignalZ 0 This option is only available if the IRT is equipped with pressure sensors In order for a new cursor position to be reported after an interruption the preset limit value of the pressure exerted onto the front screen needs to be exceeded too For additional changes of the cursor position it is sufficient that the Touch Zone remains interrupted e Z Press cmCoordEnterZ 1 cmCoordSignalZ 1 This option is only available if the IRT is equipped with pressure sensors New cursor positions are only reported as long as the preset limit value of the pressure exerted onto the front screen is exceeded 14 Software interface User
55. ined pitch and duration to the PC speaker The function itself returns as soon as the beep emission has started This way the computer is not blocked for the duration of the beep 35 OCITRON Function 27h Input Response Description Function 28h Input Response Description Software interface Extended driver status AL 27h AH Identification number of the CiTouchD driver AX Current operating mode of the CiTouchD driver The return value carries the operating mode as a bit sequence The single bits have the following meaning Bit 0 CTDF_VESA gt VGA board supports VESA standard Bit 1 CTDF_CHANGEMODE gt Video Mode was changed Bit 2 CTDF_TEXT gt Graphics board works in the text mode Bit 3 CTDF_SOFT gt Usage of the software text cursor Bit 4 CTDF_EGA gt EGA board found Bit 5 CTDF_VGA gt VGA board found Bit 6 CTDF_MONO monochrome EGA VGA video mode Bit 7 CTDF_EXTVIDEO gt Function of extended Video BIOS Bit 8 CTDF_STACK gt CiTouchD uses own stack Bit 9 CTDF HARDRESETO gt Touch Reset in function Int33h 00h Bit 10 CTDF_HARDRESET2F gt Touch Reset in function Int33 2Fh Bit 11 CTDF_HIDE gt No own cursor in WINDOWS Bit 12 CTDF_SYS gt CiTouchD loaded in CONFIG SYS Bit 13 CTDF_CONDOFF gt Conditional off is active This version of CiTouchD does not support CTDF_EGA CTDF_EXTVIDEO and CTDF_SYS yet These bits are always 0 Setting of the Hardware Re
56. isni niodo ono nodo dO ORO QU ROO O ORO OU dida didadada dida OQOROO OL ORO O iaa 4 3 Eoading CHOCADOS DA ai 4 4 CONTGUEATION EE 4 4 4 Prompt ele 5 4 2 Pre defined Mouse Button Emulation Modes AA 6 5 Software Interface A b nq aed Pw ar ex CD DU AU SR OQ OS SNO EE CE DR D E REN 12 E Basics ose Se d kae Ent E Asked EE 12 af Beete EE 12 5 1 2 Supported video modes A 12 5 1 3 User defined key emulation seeeeseeeseeseseseseeeeeen tenente nnn trn nnn nenne nnn nenas 12 5 1 4 Additional operating paraMeterS ener enne nennen nnns 14 5 1 5 Cal ofthe API UDO iu andit etr repe popa np ee re oben oput Prio db egeta 19 5 2 Emulated mouse driver functions of Int33 AP 19 5 21 Numerical SUImlmary iicet thi t EXE I PPORER USER e REIR POI ER O RR hades 19 5 2 2 Particularities of the Int 33 API emulation enne 20 5 3 Extended API functions onesna atas tiA LA ne de Lee La ed Ene na ned 24 5 3 1 Determining the identification number of CT ouchf eene 25 5 3 2 Summary of the extended API functions ssssssssssssssseseenenneeeen nennen nennen 28 5 3 3 Reference of the extended API functions eene ener nnns 30 5 3 4 Reference of the structures oooocccoinnncccnnnoncccnncnnnccnn cnn 42 5 3 5 Notification by the CiTouchD enne nnns tenr et res nnns nnn nennen nenn 48 E CITOUCHAD AN seess ees 49 61 1 AccOler ON EE 49 A A Na 50 6 1 3 Commands keete hee eeh Ee a ae 51 6 1 4 Hardware nseni a aiea EEN NEEE aa EES NEEE
57. l citGetDriverSettings citGetTouchSettings citGetTouchHardware citGetDriverConstants citGetVersion citGetDimming citGetAcceleration citGetButtonBeep citGetCitdFlags Returned data Page Current driver status 31 Parameters of serial interface 31 Parameters for Mouse Button Emulation 31 Parameters for coordinates calculation 32 Calibration parameters for absolute coordinates 32 Calibration parameters for relative coordinates 32 Variable driver parameters 32 Variable parameters of the IRT 33 Unchanging parameters of the IRT 33 Unchanging driver parameters 33 Versions number of CITOUCHD EXE 38 Mark to space ratio of IRT s PWM output 38 Parameter for cursor acceleration 40 Parameter for mouse clicks 40 Extended driver status 42 5 3 2 2 Changing CiTouchD parameters By means of these commands all configuration parameters of the CiTouchD driver can be changed No OFh 24 Designation citSetSerialHardware Changed parameters Page Parameters of serial interface 33 Software interface User s Manual CiTouchD 10h citSetCommands Parameters for Mouse Button Emulation 34 11h citSetCoordMode Parameters for coordinates calculation 34 12h citSetCalibrationAbs Calibration parameters for absolute coordinates 34 13h citSetCalibrationRel Calibration parameters for relative coordinates 35 14h citSetDriverSettings Variable driver parameters 35 15h citSetTouchSettings Variable parameters of the IRT 35 1Eh citSetDimming Mark to space ratio of
58. n from status T3 into the status IDLE The default value is 0 UPTS Trigger 0 8 This entry determines the condition for the transition from status T3 into the status TRIGGER The default value is 0 6 1 4 Hardware This section contains the parameters of the serial interface In the section Hardware the following entries are possible BaudDivisor 0 65535 This entry determines the divisor for the baud rate generator The following formula is used to calculate the baud rate f BaudRate Quarz enerally f 1 8432 MHz haber a Loe The default value for BaudDivisor is 6 or 19200 baud if fquarz 1 8432 MHz Interrupt 0 15 This entry determines the number of the ISA Bus Interrupt channel of the serial interface The default value is 4 lO Base 0 65535 This entry determines the base address of the serial interface module The default value is Ox3f8 IRT_Mode 0 1 2 This entry contains the most recently detected communication protocol of the IRT This way the IRT can be linked faster In case this entry is either omitted or faulty the CiTouchD driver attempts to detect the current communication protocol automatically The following assignment of values to detected communication protocols is used Value Meaning 0 No protocol detected 1 Mode C protocol 2 CTS1 protocol 46 CITOUCHD INI User s Manual CiTouchD 6 1 5 Settings This section contains all variable operational parameters of both
59. nication protocol used by the IRT This field can take over one of the values defined by the TP constants Char thDesignator 33 Designation of the IRT 0 terminated string char thAssy 17 ASSY number of the IRT 0 terminated string char thMem E EPROM F FLASH Memory BYTE thReserved1 reserved char thComment 257 At the Mode C protocol optional comment 0 terminated string At the CTS1 protocol Serial number of the IRT 0 terminated string TOUCHSETTINGS This structure contains the variable parameters of the IRT Type Name Description WORD tsMinBeamsX Minimum number of interrupted X light barriers WORD tsMinBeamsY Minimum number of interrupted Y light barriers WORD tsBeamTimeout Blank out time for defective light barriers in steps of 1s WORD tsTCont Time interval between two coordinates messages in steps of 1 ms WORD tsPressLevel Pressure sensitivity WORD tsTSaver Time span to elapse before the Touch Saver is activated in steps of 1 s WORD tsTScan Time interval between two scan operations at activated Touch Saver in steps of 1 ms 5 3 5 Notification by the CiTouchD If upon the call of citOpen function 18h a pointer to an Event Handler was passed CiTouchD calls up this Event Handler as soon as a complete report was received from the IRT Please note that the Event Handler is called within the Interrupt Service Routine of CiTouchD and therefore should return as quickly as possibly Especially DOS or B
60. r a description of this structure refer to page 47 If the parameters could not be changed the old status remains 29 OCITRON Function 10h Input Response Description Function 11h Input Response Description Function 12h Input Response Description 30 Software interface citSetCommands AL 10h AH Identification number of the CiTouchD driver ES DI Pointer onto a COMMANDS structure with the new para meters for the Mouse Button Emulation AX 0001h The new parameters could be set AX 0000h The parameters could not be changed The parameters for the Mouse Button Emulation are changed according to the COMMANDS structure the pointer of which was passed in ES DI For a description of this structure refer to page 45 For a description of the function of the Mouse Button Emulation refer to chapter User defined key emulation at page 12 If the parameters could not be changed the old status remains citSetCoordMode AL 11h AH Identification number of the CiTouchD driver ES DI Pointer onto a COORDMODE structure with the new parameters for the coordinates output AX 0001h The new parameters could be set AX 0000h The parameters could not be changed The parameters for the coordinates output are changed according to the COORDMODE structure the pointer of which was passed in ES DI For a description of this structure refer to page 46 If the parameters could not be changed the old
61. r h ah idenNr _int86x 0x2F amp ir amp or amp sregs if or x ax printf LDVGA detected n else printf No LDVGA detected in return 0 Example in Pascal RRA AISA A Be INS E EE e Ra aR nof e detectLDVGA Check if LDVGA graphics card is present Turbo Pascal example SE E E skip Coto oto abe st oboe acercan oto oak n E oeste oratore obo Eo ARM ROAR A A E uses dos For Intr const IdenStr CiTouchD PRESENCE 00 citDetectLDVGA 25 var Regs Registers IdenNr Byte IdenStrPtr Pointer TmpIden s String i Integer Si Byte Found Boolean begin Found False i SCO ID number from C0 FF are allowed repeat Regs AL PRESENCE Verify presence function m Regs AH Byte i Identify number Intr 2F Regs Look if a tsr with multiplex support is installed under this identfy number if Regs AL FF then begin IdenStrPtr Ptr Regs ES Regs DI Point to given identifier string Convert given null terminated C String in Pascal string and compare TmpIden ze for j 1 to 8 do begin Implden TmpIden Char Ptr Regs ES Regs DI Regs DI Regs DI 1 end if TmpIden IdenStr then Found TRUE end qd Ne dcl until Found OR i gt SFF 22 Software interface User s Manual CiTouchD if Not Found then writeln CiTouchD not installed else begin idenNr Byte i 1 stor
62. rface User s Manual CiTouchD 5 Software interface This chapter comprises descriptions of both the functions of the CiTouchD driver and the software interfaces provided for application programs 5 1 Basics In order to utilize the API functions of the CiTouchD driver it is essential to clearly understand the function of the mouse driver emulation The following chapters are supposed to contribute to this understanding 5 1 1 Coordinates systems Within the Touch driver positions always refer to a virtual graphics screen The screen s resolution depends on the respective video mode as well as the corresponding graphics card that mode is based on Since in the various text modes this virtual graphics screen is also used for determining the Touch interruptions and represents the basis for the communication with the Touch interface the graphic coordinates need to be converted into column and line coordinates for the cursor Since each column and line equal 8 dots the graphic coordinates need to be divided by 8 The origin of the graphics screen is situated in the left hand side top corner Since coordinates counted towards the right hand side and down are positive coordinates the column and line coordinates of the cursor will always be positive The functions OFh and OBh of the Int33 API supply relative coordinates Due to reasons of compatibility to the mouse the unit mickeys 1 400 inch was retained Function OFh allows the ratio between m
63. river status 36 Setting of the Hardware Reset Handling 36 Versions number of CITOUCHD EXE 33 F FreQDOwm italia 50 FreqUp i gegechsd ierg D eg Sender 50 H HardBeset i t ette 50 H tiwate gert geste eel ugoe retta 43 46 I Identification Number 21 Idle ET sotto tre n eerie 45 Immediately eee 12 Int 89 AP ciuitas 17 Interrupt 2 000 ote ei ey 46 eg 46 A ieren ite o i etse end e ivan sels e 4 RI A detti 46 L A A 12 M le 11 MinXBeams cooocccocccccnccnonnononcnnnnnnnnnnno no nccnnnnncnnns 48 Oli d EE 48 ModeGhiange beer er pco 45 Multiplex Interrupt eeeeeeeeese 20 Example in Assembler 23 Example mt 21 Example in Pascal 22 N MINES 12 No Dual Touch 12 52 INDEX Notification cesses 25 42 P Particularities of the Int 33 API 18 Determine request settings of ballpoint MIC 20 Inquire a list of available video modes 19 Inquire version mouse type and IRQ 19 Read out current acceleration curve 20 Request bit masks of screen cursor 19 Set acceleration curve ssuusss 19 Set Interrupt rate of mouse hardware 18 Set language for messages 19 Set mouse sensitivity ssss 18
64. s a complete report was received The address of the Event Handlers is determined by the user when calling up the function citOpen At page 48 the structure of the notification is described If there is another report received by the IRT although the reception buffer was net read out yet the newly received report is disregarded This guarantees that an explicitly requested report cannot be overwritten by subsequent coordinates messages of the IRT Possible commands for the IRT and the structure of IRT reports vary between the Mode C communication protocol and the CTS1 protocol The respective commands are described in the user s manual of the IRT No Designation Function Page 16h citSend Transmits one byte to the IRT 35 17h citReceive Receives a complete report from the IRT 36 18h citOpen Opens the reception channel between IRT and 36 computer 19h citClose Closes the reception channel 36 1Ah citReceiveStatus Determines the status of the reception channel 38 1Ch citCheckBreak Checks a serial interface for 100ms Breaks 38 5 3 2 4 General help functions Besides the interfaces required for the mouse emulation the CiTouchD driver also provides several useful functions No Command Function Page 00h citPresence Requests installation status 30 01h citGetPSP Determines PSP of resident driver 30 25h citDetectLDVGA Checks whether an LDVGA graphics board exists 41 26h citPlaySound Emits a sound to the PC speaker 41 25 OCITRON Software inter
65. s faster than the finger towards the edge of the screen This way the outermost edge of the screen can be reached at any rate The cursor acceleration is exclusively used in conjunction with absolute coordinates X Acceleration Border Touch co ordinates 0 0 9x In the hatched area the cusor moves faster than the touch spot towards the edge of the display In this area the cursor speed corresponds to the one of the touch spot 15 O C IT RO N Software interface The following API functions are used to set the acceleration parameters citGetAcceleration function 20h Request of acceleration parameters citSetAcceleration function 21h Change of acceleration parameters Both functions take the address of a ACCELERATION refer to page 43 structure as argument for output data citGetAcceleration or input data citSetAcceleration The following API functions are used to set the distance between touch spot and cursor position citGetDriverSettings Function OBh Request of distance citSetDriverSettings Function 14h Change of distance The corresponding elements of the structure DRIVERSETTINGS refer to page 47 are dsOfsX X distance between touch spot and cursor position dsOfsY Y distance between touch spot and cursor position In the file CITOUCHD INI the following entries relate to the cursor control Acceleration X Border Beyond this X border the acceleration is active corresponds to acBorderX Y
66. set Handling AL 28h AH Identification number of the CiTouchD driver BX Flags to be changed AX 0in case the Read Only Flags are to be changed By changing the flags CTDF_HARDRESETO Bit 9 and CTDF_HARDRESET F Bit 10 the response of the Touch to a reset caused by the Int33h functions 00h and 2Fh can be changed All other flags are read only and have to be set to 0 in BX 5 3 4 Reference of the structures In order to pass parameters to the extended API functions numerous structures are defined In the following these structures are listed in alphabetical order Please note that the API functions do not expect additional fill up bytes between the structure elements The following data types are used Type Length char 1 byte BYTE 1 byte short 2 byte WORD 2 byte BOOL 2 byte DWORD A byte 36 Value rage Description 128 127 Signed integer value 0 255 Unsigned integer value 32768 32767 Signed integer value 0 65535 Unsigned integer value O 1 Unsigned integer value Values unequal 0 are interpreted as TRUE the value 0 is interpreted as FALSE 0 4294967295 Unsigned integer value Software interface ACCELERATION User s Manual CiTouchD This structure contains the parameters for the cursor acceleration Type short short WORD WORD Name acMulX acMulY acBorderX acBorderY Description Acceleration factor for X coordinates Acceleration factor for Y coordinates Width of acceleration
67. that case the IRT would already detect a valid interruption before the finger actually touches the screen surface On its way between the interruption of the detection and the screen surface the finger generally shifts The user however expects a change of the cursor position only when he actually touches the screen surface By skipping the first coordinates messages the expected behaviour can be achieved The admissible values of dsSmoothX and dsSmoothY range from 0 up to dsSmoothMax This value can be requested by means of citGetDriverConstants function OEh The following entries in the file CITOUCHD INI control the smoothing behaviour Settings X Smoothing corresponds to dsSmoothX Y Smoothing corresponds to dsSmoothY SmoothAlways corresponds to dsSmoothAlways CoordinateSkip corresponds to dsCoordSkip 5 1 4 2 Coordinates mode The CiTouchD driver is able to work with either absolute or relative coordinates In case absolute coordinates are used the cursor jumps directly onto the spot of the interruption of the Touch Zone In case relative coordinates are used however the cursor always moves relatively to its present position The direction of the cursor motion corresponds to the direction of the moving interruption spot Since the 13 O C IT RO N Software interface distance covered by the cursor may be smaller than the one of the actual finger movement a resolution can be achieved that corresponds to the one of a conventional mo
68. that was passed is internally saved besides that however ignored User s Manual CiTouchD Software interface Function 22h Input Response Particularities Function 24h Input Response Particularities Function 27h Input Response Particularities Function 29h Input Response Particularities Function 2Bh Input Response Particularities Set language for messages AX 0022h BX Code number of language none Only code number 0 English is supported All other code numbers are disregarded Inquire version mouse type and IRQ AX 0024h BH Pre comma part of version number BL Post comma part of version number CH Mouse type always 2 serial mouse CL IRQ number Since CiTouchD basically supports each IRQ number available on a PC values greater than 7 can be returned to CL too Request bit masks of screen cursor AX 0027h AX AND mask at software cursor start line at hardware cursor BX XOR mask at software cursor end line at hardware cursor CX Length of horizontal motion in mickeys DX Length of vertical motion in mickeys Since an IRT works with absolute coordinates the values in CX and DX are always 0 Inquire a list of available video modes AX 0029h CX 0 request first video mode or 0 request next modes BX Segment address of a string CX Code number of video mode DX Offset address of a string In order to ind
69. then update the entries in the CITOUCHD INI The possible entries of the CITOUCHD INI are described in chapter CITOUCHD INI on page 49 Configuration User s Manual CiTouchD Calls from the programming interface only change the internal variables of the driver The contents of the file CITOUCHD INI is not changed that way 4 1 Prompt parameters CiTouchD is able to interpret the following prompt parameters in any order It distinguishes between small and capital letters Parameters Range CITOUCH INI Default Description h H Lists all permitted prompt parameters Installation status of CiTouchD D Requests current settings of the resident share of CiTouchD T Hard and software revision of connected IRT b 1 3 Settings 1 Determines the mouse button to be Button emulated 1 left hand side mouse button 2 right hand side mouse button 3 both mouse buttons at the same time IC 1 4 Hardware 1 Determines the number of the serial Interrupt interface to be used by the IRT This lO B option combines i and p assuming Base the standard PC serial interfaces COM1 c 1 gt Port 3F8h IRQ 4 COM2 c 2 gt Port 2F8h IRQ 3 COMS c 3 gt Port 3E8h IRQ 4 COM4 c 4 gt Port 2E8h IRQ 3 d Removes the resident part of the CiTouchD driver from the memory k 0 64 Citouchd 6 Determines size of stack set up by Stack CiTouchD in steps of 256 byte In case o
70. tion Parameter Example Advantages Disadvantages CITOUCHD INI m 6 t1 t2 Description Parameter Example Advantages Disadvantages CITOUCHD INI User s Manual CiTouchD Dual Exit If the Touch Zone is interrupted and a second interruption occurs simultaneously a mouse click is emulated Contrary to the Dual Touch the mouse button remains pressed until the Touch zone is completely released i e both interruptions are cleared Dual Touch Skip Count n Determines the number of dual touch messages to be skipped before the mouse click is emulated The number of messages to be skipped can be set between 0 and 255 c Y gt citouchd exe m 5 1 e Easy handling e Accurately localized and timed positioning of the mouse click e Cursor motion at pressed mouse button possible e Little safety regarding faulty handling e Creating double clicks is very difficult Commands Time1 0 Time2 0 Time Idle_T1 2 T1_Trigger Trigger_T2 T2_UPT3 0 UPTS3 Idle UPT3_Trigger 0 Settings DbIErrSkip n Time Time A mouse click is emulated if the Touch Zone is interrupted and no mouse motion occurs for a time span T1 If the cursor continues to be motionless after time span T2 has elapsed the mouse button is briefly released and then immediately pressed again Time to Click t1 After this time has elapsed the first mouse click occurs T1 can be set in steps of 55 ms between 0 ms and 2 s Time to Second Click
71. tions A detailed description of each single function of the API is omitted 5 2 1 Numerical summary The following table lists the supported functions of the Int83 API in numerical order The functions marked with a cross can be called from the application program however they are not functional The functions marked with an asterisk vary in details from the Microsoft mouse driver and are described further below Number 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h OAh OBh OCh ODh OEh OFh 10h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 1Fh 20h 21h 22h 23h 24h 25h 26h 27h Designation int33ResetAndStatus int33ShowCursor int33HideCursor int33GetPosBtn int33SetCursorPos int33GetBtnPress int33GetBtnRelease int33SetMinMaxHor int33SetMinMaxVer int33SetGraphicsCursor int33SetTextCursor int33ReadMotionCounters int33InstallEvent int33LightPenOn int33LightPenOff int33SetMickeyPixelRatio int33ConditionalOff int33SetDoubleThreshold int33SwapEvents int33GetStateSize int33SaveState int33RestoreState int33SetAltEvent int33GetAltEvent int33SetSensitivity int33GetSensitivity int33SetInterruptRate int33SetCrtPage int33GetCrtPage int33Disable int33Enable int33SoftReset int33SetLanguage int33GetLanguage int33Inquire int33InquireEx int33GetMouseScreen int33GetCursorMask Description Reset of driver and touch hardware Show mouse cursor on screen Hide mouse cursor Determine mouse
72. urn a value unequal 00h generally FFh to the AL register This way the CiTouchD driver runs through all identification numbers from COh upwards and takes the first free one Since due to this behaviour the identification number of the CiTouchD is not certain in advance any program that wants to use the driver functions provided via the Multiplex Interrupt 2Fh needs to request the currently valid identification number beforehand In order to search for the correct identification number starting at the identification number COh to be stored in register AH the program calls the function 00h to be stored in register AL of the Multiplex Interrupt 2Fh as long until the ES DI register pair points onto the string CiTouchD The identification number that went with the successful function call equals the current identification number of the CiTouchD driver Relating to this identification number the functions of the CiTouchD that are provided via the Multiplex Interrupt can now be called If the search for the identification number remains without success until number FFh the CiTouchD driver is not installed The following examples in the programming languages C Pascal and Assembler utilize this method in order to request the existence of a LDVGA graphics board by means of the function 25h citDetectLDVGA which is described further below Example in C JR AR C e e koe ek koe e Ke e e Re e e KR e e ke e e Ke e e ke e e Ke e Ke e e Re e e Ke e e e e k
73. urning of mouse click parameters AX Number of bytes written into BUTTONBEEP structure The parameters for the creation of a mouse click are written into the BUTTONBEEP structure the pointer of which was passed in ES DI For a description of this structure refer to page 43 User s Manual CiTouchD Software interface Function 23h Input Response Description Function 25h Input Response Description Function 26h Input Response Description citSetButtonBeep AL 23h AH Identification number of the CiTouchD driver ES DI Pointer onto a BUTTONBEEP structure with the new para meters for the mouse click creation AX 0001h The new parameters could be set AX 0000h The parameters could not be changed The parameters for the creation of a mouse click are changed according to BUTTONBEEP structure the pointer of which was passed in ES DI For a description of this structure refer to page 43 If the parameters could not be changed the old status remains citDetectLDVGA AL 25h AH Identification number of the CiTouchD driver AX 0001h A Citron LDVGA board was detected AX 0000h There is no Citron LDVGA board available This function determines whether a Citron Long Distance VGA board is available citPlaySound AL 26h AH Identification number of the CiTouchD driver BX 2 Sound pitch in Hertz Hz CX Duration in milliseconds ms none This function emits a sound with the determ
74. use The speed the cursor moves with when using relative coordinates can be set by means of the following functions citGetCalibrationRel function OAh Request of calibration of the relative coordinates citSetCalibrationRel function 13h Change of calibration of the relative coordinates Both functions take the address of a CALIBRATIONREL refer to page 44 structure as argument for output data citGetCalibrationRel or input data citSetCalibrationRel The coordinates mode the CiTouchD is working in is set by means of the following function citGetDriverSettings function OBh Request of coordinates mode citSetDriverSettings function 14h Change of coordinates mode The corresponding elements of the structure DRIVERSETTINGS refer to page 47 are dsAbsolute 0 The relative coordinates mode is always used 1 The absolute coordinates mode is always used It is still possible during regular operation to change between the various coordinates modes The following function determines the condition of a change to take place between the absolute and the relative coordinate s mode citGetCommands function 07h Request of condition for mode change citSetCommands function 10h Change of condition for mode change The corresponding elements of the structure COMMANDS refer to page 45 are cmModeChange 0 During regular operation a change between the absolute and the relative coordinates mode is possible 3 This option is only available
75. ut AX 0001h The new parameters could be set AX 0000h The parameters could not be changed The parameters for the control of the IRT s PWM output are changed according to the DIMMING structure the pointer of which was passed in ES DI For a description of this structure refer to page 46 If the parameters could not be changed the old status remains citGetAcceleration AL 20h AH Identification number of the CiTouchD driver ES DI Pointer onto an ACCELERATION structure for the returning of the parameters for the cursor acceleration AX Number of bytes written into ACCELERATION structure The parameters for the cursor acceleration are written into the ACCELERATION structure the pointer of which was passed in ES DI For a description of this structure refer to page 43 citSetAcceleration AL 21h AH Identification number of the CiTouchD driver ES DI Pointer onto an ACCELERATION structure with the new parameters for the cursor acceleration AX 0001h The new parameters could be set AX 0000h The parameters could not be changed The parameters for the cursor acceleration are changed according to the ACCELERATION structure the pointer of which was passed in ES DI For a description of this structure refer to page 43 If the parameters could not be changed the old status remains citGetButtonBeep AL 22h AH Identification number of the CiTouchD driver ES DI Pointer onto a BUTTONBEEP structure for the ret
76. ut Response Description Function 07h Input Response Description User s Manual CiTouchD citGetFlags AL 05h AH Identification number of the CiTouchD driver AX Current status of the CiTouchD driver The current driver status is carried in the return word as bit flags The single bits have the following meaning Bit3 F_SMOOTH_ALWAYS Smoothing is also active between two touchings Bit4 IF FIRST COORDINATE First coordinates message Bit5 IF BEER MODE Acoustic signals as response to mouse clicks Bit6 IF ABSOLUTE MODE Absolute coordinates are used Bit7 1F_Z TOUCH A 3D IRT was detected Bit8 IF ENABLED The driver is activated Bit 112 IF INT ON The hardware Interrupts are enabled Bit 122 IF BREAK Breaks were received by IRT Bit 132 IF AUTOREINIT Automatic reinitialization is enabled Bit 142 IF ON SLAVEPIC The used Interrupt vector is situated at the second PIC of the computer Bit 15 IF IRT EXISTS An IRT was detected citGetSerialHardware AL 06h AH Identification number of the CiTouchD driver ES DI Pointer onto a SERIALHARDWARE structure for the returning of the serial interface parameters AX Number of bytes written into the SERIALHARDWARE structure The serial interface parameters are written into the SERIALHARDWARE structure the pointer of which was passed in ES DI For a description of this structure refer to page 47 citGetCommands AL 07h AH Identification number of
77. ve to be interrupted simultaneously in order to be detected as a valid interruption The default value is 1 MinYBeams 1 5 This entry determines the number of Y light barriers that have to be interrupted simultaneously in order to be detected as a valid interruption The default value is 1 Pressure 0 255 This entry determines the required pressure to be exerted onto the front screen in order to release the pressure controlled events of the driver The value 0 deactivates the Z axis of the IRT The default value is 20 SaverScan 1 65535 This entry determines the scan rate of the IRT at activated Touch Saver The actual scan rate corresponds to the value entered here in milliseconds The default value is 500 SaverTime 0 65535 This entry determines the time span to elapse before the Touch Saver is activated The activation time corresponds to the value entered here in seconds At a value of 0 the Touch Saver is immediately activated At a value of 65535 the Touch Saver is never activated The default value is 65535 48 CITOUCHD INI User s Manual CiTouchD SmoothAlways Yes No This entry determines whether the calculation of the average value of absolute coordinates should also cover the release and once more interruption of the Touch Zone The default value is No 0 TapTime 0 65535 This entry determines the time interval in which the Touch Zone has to be interrupted a second time in order to create a Tap The time interv

Download Pdf Manuals

image

Related Search

Related Contents

553KB(Ver.2010.7)  American Standard Copeland T005740 User's Manual      Apple bCool XG1 Projector User Manual  La relation associative d`aide à domicile - Université Pierre  la Documentation d`utilisation et de configuration  361 ÉLIMINATEUR POUR MOUSSE ISOLATION DURCIE  CVR-IM 5CEY-0711(1)-Siesta.indd  libretto - Joannes  

Copyright © All rights reserved.
Failed to retrieve file