1CITRON(4)                  Kernel Interfaces Manual                  CITRON(4)
2
3
4

NAME

6       citron - Citron Infrared Touch Driver (CiTouch)
7

SYNOPSIS

9       Section "InputDevice"
10         Identifier "idevname"
11         Driver "citron"
12         Option "Device" "devpath"
13         ...
14       EndSection
15

DESCRIPTION

17       citron is a Xorg input driver for Citron Infrared Touch devices.
18
19       The  citron  driver  acts as a pointer input device, and may be used as
20       the X server's core pointer. It is connected via  a  "RS232"  with  the
21       host.
22

SUPPORTED HARDWARE

24       At the moment the following touches are supported. They are also avail‐
25       able as ZPress touches.
26
27       2nd Gen Touches ----------------
28
29       IRT6I5-V2.x
30        6.5 inch Infrared Touch
31
32       IRT10I4-V4.x
33        10.4 inch Infrared Touch
34
35       IRT12I1-V2.x
36        12.1 inch Infrared Touch
37
38       IRT15I1-V1.x
39        15.1 inch Infrared Touch
40
41       3rd Gen Touches -----------------
42
43       IRT65-V3.x
44        6.5 inch Infrared Touch
45
46       IRT84-V2.x
47        8.4 inch Infrared Touch
48
49       IRT104-V5.x
50        10.4 inch Infrared Touch
51
52       IRT104-V6.x
53        10.4 inch Infrared Touch with integrated keyboard  and  ambient  light
54       overflow detection
55
56       IRT121-V3.x
57        12.1 inch Infrared Touch
58
59       IRT15I1-V1.x
60        15.1 inch Infrared Touch
61
62       IRT170-V1.x
63        17.0 inch Infrared Touch
64
65       IRT181-V1.x
66        18.1 inch Infrared Touch
67
68       IRT190-V1.x
69        19.0 inch Infrared Touch
70
71
72

CONFIGURATION DETAILS

74       Please refer to xorg.conf(5x) for general configuration details and for
75       options that can be used with all input  drivers.   This  section  only
76       covers  configuration  details  specific  to  this  driver.  For better
77       understanding please read also the CTS manual and various  IRT  manuals
78       which  are available in "pdf" format from Citron web page www.citron.de
79       or directly from Citron.
80
81
82       The following driver Options are supported:
83
84       Option "Device" "devpath"
85              Specify the device path for the  citron  touch.   Valid  devices
86              are:
87
88                   /dev/ttyS0, /dev/ttyS1, ....
89
90              This  option  is mandatory.  It's important to specify the right
91              device Note: com1 -> /dev/ttyS0, com2 -> /dev/ttyS1 ....
92
93
94       Option "ScreenNumber" "screennumber"
95              sets the screennumber for the citron InputDevice.
96
97              Default: ScreenNumber: "0"
98
99
100       Option "MinX, MinY" "value"
101              These are the minimum X  and  Y  values  for  the  citron  input
102              device.
103
104              Note: MinX, MinY must be less than MaxX, MaxY.
105
106              Range: "0" - "65535"
107
108              Default: MinX: "0"  MinY: "0"
109
110
111
112       Option "MaxX, MaxY" "value"
113              These  are  the  maximum  X  and  Y  values for the citron input
114              device.
115
116              Note: MaxX, MaxY must be greater than MinX, MinY.
117
118              Range: "0" - "65535"
119
120              Default: MaxX: "65535"  MaxY: "65535"
121
122
123
124       Option "ButtonNumber" "value"
125              This value is responsible for the button number that is returned
126              within the xf86PostButton event message
127
128              Range: "0" - "255"
129
130              Default: "1"
131
132
133       Option "ButtonThreshold" "value"
134              This  value is responsible for the button threshold.  It changes
135              the pressure sensitivity of the touch. A  higher  number  corre‐
136              sponds to a higher pressure.
137
138              Note:  This  feature  is  only available with pressure sensitive
139              hardware.
140
141              Range: "0" - "255"
142
143              Default: "20"
144
145
146       Sleep-Mode
147              If the IRT is in Doze-Mode and Touch Zone is not interrupted for
148              another   certain   span   of   time,  the  so-called  Slee-Mode
149              is activated. The Sleep-Mode decreases  the  scan  rate  of  the
150              beams even further than the Doze-Mode does (see below). This way
151              the life expectancy of the beams is prolonged and the power con‐
152              sumption  of  the IRT is reduced.  As soon as an interruption of
153              the Touch Zone is detected, the Sleep-Mode  is  deactivated  and
154              the  Touch  Zone  will  again be scanned with the maximum speed.
155              With the Sleep-Mode activated, depending on the  set  scan  rate
156              the  IRT's response time can be considerably longer as in normal
157              operation. If, for example, a scan rate of 500 ms / scan is set,
158              it  may  last up to a half of a second until the IRT detects the
159              interruption and deactivates the Sleep-Mode.
160
161
162       Option "SleepMode" "mode"
163              This value is responsible for the sleep-mode of the touch.
164              Determines the behaviour of the Sleep-Mode.
165
166              0x00
167               No message at either activation or deactivation
168
169              0x01
170               Message at activation
171
172              0x02
173               Message at deactivation
174
175              0x03
176               Message at activation and deactivation
177
178              0x10 GP_OUT output set according to the Sleep-Mode status
179
180              Values: "0" "1" "2" "3" "16"
181
182              Default: "0"
183
184
185       Option "SleepTime" "time"
186              This value is responsible for the sleep-time of the touch. It is
187              the  activation  time  in  seconds ("0" = immediately activated,
188              "65535" = always deactivated).
189
190              Range: "0" - "65535" [s]
191
192              Default: "65535" => deactivated
193
194
195       Option "SleepScan" "scan"
196              This value is responsible for the scan-time of the  touch.  This
197              is  the  time  interval  between  two  scan  operations while in
198              Sleep-Mode. The time interval is set in steps of milliseconds.
199
200              Range: "0" - "65535" [ms]
201
202              Default: "500"
203
204
205       Option "PWMAdjSrc" "value"
206
207       Option "PWMAdjDst" "value"
208              These parameters are used to adjust the brightness of  different
209              backlight  inverters.  At  the  moment 2 backlight inverters are
210              used: 0=TDK  1=AC. If you want a AC backlight inverter to behave
211              like  an AC type you have to set PWMAdjSrc to 0 (TDK) and PWMAd‐
212              jDst to 1 (AC).
213
214              Range: "0" - "1"
215
216              Default: "-1" (no adjustment)
217
218
219       Option "PWMActive" "value"
220              This value determines the mark-to-space ratio of the PWM  output
221              while  in normal operation (sleep-mode not active).  Higher val‐
222              ues result in longer pulse widths. This  output  signal  can  be
223              used in conjunction with the Citron AWBI to do backlight-dimming
224              via the touch.
225
226              Range: "0" - "255"
227
228              Default: "255" (max. brightness)
229
230
231       Option "PWMSleep" "value"
232              This value determines the mark-to-space ratio of the PWM  output
233              while in sleep-mode (-> SleepMode, SleepScan, SleepTime ) opera‐
234              tion (sleep-mode active).  Higher values result in longer  pulse
235              widths.
236
237              Range: "0" - "255"
238
239              Default: "255" (max. brightness)
240
241
242       Option "PWMFreq" "value"
243              This value determines the PWM frequency in Hertz
244
245              Range: "39" - "9803"
246
247              Default: "9803" (max. frequency)
248
249
250       Option "ClickMode" "mode"
251              With mode one can select between 5 ClickModes
252
253              "1" = ClickMode Enter
254
255              With  this  mode  every  interruption of the infrared beams will
256              activate a ButtonPress event and after the interruption  a  But‐
257              tonRelease event will be sent.
258
259              "2" = ClickMode Dual
260
261              With  this  mode  every interruption will sent a Proximity event
262              and every second interruption  a  ButtonPress  event.  With  the
263              release  of  the  interruption  (while one interruption is still
264              active) a ButtonRelease event will be sent.
265
266              "3" = ClickMode Dual Exit
267
268              With this mode every interruption will sent a ProximityIn  event
269              and  every  second  interruption  a  ButtonPress event. With the
270              release of the interruption (while  one  interruption  is  still
271              active)  no ButtonRelease event will be sent. Only if all inter‐
272              ruptions are released a ButtonRelease followed by a ProximityOut
273              event will be sent.
274
275              "4" = ClickMode ZPress
276
277              With this mode every interruption will sent a ProximityIn event.
278              Only if a certain pressure is exceeded a ButtonPress event  will
279              occur.  If  the pressure falls below a certain limit a ButtonRe‐
280              lease event will  be  sent.   After  also  the  interruption  is
281              released a ProximityOut event is generated.
282
283              "5" = ClickMode ZPress Exit
284
285              This mode is similar to "Clickmode Dual Exit".  The first inter‐
286              ruption of the beams will sent a ProximityIn event.  Only  if  a
287              certain  pressure is exceeded a ButtonPress event will occur. If
288              the pressure falls below a certain limit no ButtonRelease  event
289              will be sent.  After the interruption is also released a Button‐
290              Release followed by a ProximityOut event is generated.
291
292              Range: "1" - "5"
293
294              Default: "1" (ClickMode Enter)
295
296
297       Option "Origin" "value"
298              This value sets the coordinates origin to one of the  four  cor‐
299              ners  of  the  screen.   The  following values are accepted: "0"
300              TOPLEFT: Origin set to  the  left-hand  side  top  corner.   "1"
301              TOPRIGHT:  Origin  set  to  the right-hand side top corner.  "2"
302              BOTTOMRIGHT: Origin set to the right-hand  side  bottom  corner.
303              "3" BOTTOMLEFT: Origin set to the left-hand side bottom corner.
304
305              Range: "0" - "3"
306
307              Default: "0" (TOPLEFT)
308
309
310       Doze-Mode
311              If for a certain span of time the Touch Zone is not interrupted,
312              the so-called Doze-Mode is automatically  activated.  The  acti‐
313              vated  Doze-Mode  slightly decreases the scan rate of the beams.
314              This way the power consumption of the IRT is reduced. As soon as
315              an  interruption of the Touch Zone is detected, the Doze-Mode is
316              deactivated and the Touch Zone will again be  scanned  with  the
317              maximum speed.
318
319
320       Option "DozeMode" "mode"
321              This value is responsible for the doze-mode of the touch.
322
323              Determines the behaviour of the Doze-Mode.
324
325              0x00 No message at either activation or deactivation
326
327              0x01 Message at activation
328
329              0x02 Message at deactivation
330
331              0x03 Message at activation and deactivation
332
333              0x10 GP_OUT output set according to the Doze-Mode status
334
335              If  the GP_OUT output is already controlled by the Sleep-Mode it
336              is no longer available as an output port anymore.
337
338              Values: "0" "1" "2" "3" "16"
339
340              Default: "0"
341
342
343
344
345       Option "DozeTime" "time"
346              This value is responsible for the doze-time of the touch. It  is
347              the  activation  time  in  seconds ("0" = immediately activated,
348              "65535" = always deactivated).
349
350              Range: "0" - "65535" [s]
351
352              Default: "65535" => deactivated
353
354
355
356       Option "DozeScan" "scan"
357              This value is responsible for the scan-time of the  touch.  This
358              is  the  time  interval  between  two  scan  operations while in
359              Doze-Mode. The time interval is set in steps of milliseconds.
360
361              Range: "0" - "65535" [ms]
362
363              Default: "500"
364
365
366       Option "DeltaX" "value"
367              This value determines a virtual area at the left and right  side
368              of  the  current  cursor  position where the cursor didn't move.
369              Within this area no "MotionNotify" event will be sent.
370
371              Range: "0" - "255"
372
373              Default: "0" (no deltaX)
374
375
376
377       Option "DeltaY" " value "
378              This value determines a virtual area at the top  and  bottom  of
379              the  current  cursor  position  where  the  cursor  didn't move.
380              Within this area no "MotionNotify" event will be sent.
381
382              Range: "0" - "255"
383
384              Default: "0" (no deltaY)
385
386
387       Option "Beep" "value"
388              This value determines if a  "ButtonPress"  and/or  a  "ButtonRe‐
389              lease" event should sound the buzzer. "0" deactivates the buzzer
390              while every other value will activate it.
391
392              Range: "0" - "1"
393
394              Default: "0" (deactivated)
395
396
397       Option "PressVol" "value"
398              This value determines the volume of the buzzer (0-100%)  when  a
399              "ButtonPress" event is sent.
400
401              Range: "0" - "100"
402
403              Default: "100"
404
405
406
407       Option "PressPitch" "value"
408              This value determines the pitch of the tone when a "ButtonPress"
409              event is sent.
410
411              Range: "0" - "3000"
412
413              Default: "880"
414
415
416
417
418       Option "PressDur" "value"
419              This value determines the duration of the  tone  in  ms  when  a
420              "ButtonPress" event is sent.
421
422              Range: "0" - "255"
423
424              Default: "15"
425
426
427       Option "ReleaseVol" "value"
428              This  value  determines the volume of the buzzer (0-100%) when a
429              "ButtonRelease" event is sent.
430
431              Range: "0" - "100"
432
433              Default: "100"
434
435
436
437       Option "ReleasePitch" "value"
438              This value determines the pitch of the tone when when a "Button‐
439              Release" event is sent.
440
441              Range: "0" - "3000"
442
443              Default: "1200"
444
445
446
447
448       Option "ReleseDur" "value"
449              This value determines the duration of the tone in ms when when a
450              "ButtonRelease" event is sent.
451
452              Range: "0" - "255"
453
454              Default: "10"
455
456
457
458
459       Option "BeamTimeout" "value"
460              Determines the time span in seconds, that has to elapse before a
461              beam  is considered defective, blanked-out and excluded from the
462              coordinates evaluation.
463
464              Range: "0" - "65535"
465
466              Default: "30" (30 seconds)
467
468
469
470
471
472       Option "TouchTime" "value"
473              Determines the minimum time span in steps of 10ms  for  a  valid
474              interruption. In order for an interruption to be reported to the
475              host computer as valid, it needs to remain at the same spot  for
476              at least the time span declared here.
477
478              Range: "0" - "255"
479
480              Default: "0" (=6,5 ms)
481
482
483
484       Option "EnterCount" "count"
485              Number  of  skipped  "enter  reports".  Reports are sent approx.
486              every 20ms.
487
488              Range: "0" - "31"
489
490              Default: "3" (3 skipped messages = 60ms)
491
492
493
494       Option "ZEnterCount" "count"
495              Number of skipped "enter reports" while  in  pressure  sensitive
496              mode. Reports are sent approx. every 20ms.
497
498              Range: "0" - "31"
499
500              Default: "1" (1 skipped messages = 20ms)
501
502
503
504       Option "LockZEnterTime" "count"
505              Minimum  duration  of  an AreaPressEnter state (Pressure > Area‐
506              Pressure) before a PressEnter event is issued. The time is given
507              in 10ms steps.
508
509              Range: "0" - "255"
510
511              Default: "1" (10ms)
512
513
514
515       Option "LockZExitTime" "count"
516              Minimum duration of an AreaPressExit state (Pressure < AreaPres‐
517              sure/2) before a PressExit event is issued. The time is given in
518              10ms steps.
519
520              Range: "0" - "255"
521
522              Default: "1" (10ms)
523
524
525
526       Option "LockZLockTime" "count"
527              Minimum  gap  between  a  PressExit and a PressEnter event.  The
528              time is in 10ms steps.
529
530              Range: "0" - "255"
531
532              Default: "10" (100ms)
533
534
535
536       Option "DualCount" "count"
537              Number of skipped "dual touch error". Reports are  sent  approx.
538              every  20ms.  This  option  is  only  available for "ZPress" and
539              "ZPress Exit" modes.
540
541              Range: "0" - "31"
542
543              Default: "2" (2 skipped messages = 40ms)
544
545
546
547       Please Note:
548          The following functions are only available on touches  with  special
549          hardware,  which  does support that functions. Please contact Citron
550          to get more information.
551
552
553
554       Option "AmbientOverload" "mode"
555              Defines how detection of  ambient  light  overload  is  handled.
556              These values can be "ored" to combine them.
557
558              mode=0
559
560              Ambient light is ignored and no error message is generated.
561
562              mode=1
563
564              Ambient light error message is generated.
565
566              mode=2
567
568              Scanning is stopped in case of ambient light error.
569
570               Bits can be "ored"
571
572              Range: "0" - "3"
573
574              Default: "0" Ambient light overload is ignored and no error mes‐
575              sage is generated
576
577
578
579       Option "KeyMatrix" "mode"
580              Enables or disables 4x4 key matrix scanning on touches with  key
581              matrix feature
582
583
584              Range: "0" - "1"
585
586              Default: "0" No scanning of 4x4 key matrix
587
588
589       Option "BeepKey" "value"
590              This  value  determines  if  a  "KeyPress" and/or a "KeyRelease"
591              event should sound the buzzer. "0" deactivates the buzzer  while
592              every other value will activate it.
593
594              Range: "0" - "1"
595
596              Default: "0" (deactivated)
597
598
599       Option "PressVolKey" "value"
600              This value determines the duration of the speaker on period when
601              a "KeyPress" event is sent.  It is  calculated:  (PressVolKey  *
602              PressDurKey  /  50).  If you give PressVolKey a value of 50 then
603              PressDurKey is the duration in [ms].
604
605              Range: "0" - "256"
606
607              Default: "50"
608
609
610
611       Option "PressPitchKey" "value"
612              This value determines the pitch of the tone when a "ButtonPress"
613              event is sent. It is the frequency in [Hz].
614
615              Range: "0" - "3000"
616
617              Default: "1500"
618
619
620
621
622       Option "PressDurKey" "value"
623              This  value  determines  the  duration  of the tone in ms when a
624              "ButtonPress" event is sent.  It is calculated:  (PressVolKey  *
625              PressDurKey  /  50).  If you give PressVolKey a value of 50 then
626              PressDurKey is the duration in [ms].
627
628              Range: "0" - "65535"
629
630              Default: "120"
631
632
633       Option "ReleaseVolKey" "value"
634              This value determines the duration of the  speaker  on  interval
635              when   a   "KeyRelease"   event  is  sent.   It  is  calculated:
636              (PressVolKey * PressDurKey / 50).  If  you  give  PressVolKey  a
637              value of 50 then PressDurKey is the duration in [ms].
638
639              Range: "0" - "255"
640
641              Default: "50"
642
643
644
645       Option "ReleasePitchKey" "value"
646              This value determines the pitch of the tone when when a "Button‐
647              Release" event is sent. It is the frequency in [Hz].
648
649              Range: "0" - "3000"
650
651              Default: "3000"
652
653
654
655
656       Option "ReleseDurKey" "value"
657              This value determines the duration of the speaker on period when
658              a  "KeyRelease" event is sent.  It is calculated: (PressVolKey *
659              PressDurKey / 50).  If you give PressVolKey a value of  50  then
660              PressDurKey is the duration in [ms].
661
662              Range: "0" - "65535"
663
664              Default: "60"
665
666

SEE ALSO

668       XFree86(1), XF86Config(5x), xf86config(1), Xserver(1), X(7).
669

AUTHORS

671       2000-2005 - written  by  Citron GmbH (support@citron.de)
672
673
674
675X Version 11                xf86-input-citron 2.2.0                  CITRON(4)
Impressum