Touchkit Mice & Touchpads Driver Download

Driver:Touch Panel Driver

End User License Agreement

  1. The touch panel driver emulates mouse left and right button function and supports operation systems including Microsoft Windows 95 / 98 / ME / NT4 / 2000 / XP / XP Tablet PC Edition, Windows CE 2.12 / 3.0 /.NET, Linux, iMac and DOS. Interface RS232 USB PS/2 4-wireReady Ready Ready.
  2. IBall is India’s premier home-grown tech accessory brand. Founded in 2001. IBall has now set its sights on capturing India’s informed and tech-savvy buyers through online and modern retail. IBall 2.0 addresses the new Indian - informed, innovative & inspired. They are generation 'i'.

BY DOWNLOADING AND/OR INSTALLING THE SOFTWARE YOU ARE AGREEING TO BECOME BOUND BY THE TERMS OF THIS AGREEMENT, INCLUDING THIS SOFTWARE PRODUCT LICENSE AND LIMITED WARRANTY.

It provides all the mouse functions, including the dragging function. Click on Touch Click action is executed as soon as users touch the panel. Click on Release Click action will not be executed until finger leaves the panel. Touchkit provides an option for advanced Mouse Emulation setting.

IMPORTANT READ CAREFULLY: This GeneralTouch Technology Co., Ltd. End-User License Agreement is a legal agreement between you (either an individual or a single entity) and GeneralTouch Technology Co., Ltd. for the software portion of this GeneralTouch Technology Co., Ltd. The touchscreen and controller or touch monitor, which includes the accompanying computer software, printed materials and any 'online' or electronic documentation ('SOFTWARE'). By installing, copying or otherwise using the SOFTWARE, you agree to be bound by the terms of this Agreement. User must accept the terms of this agreement when prompted, in order to complete download and/or installation of the software.

GeneralTouch Technology Co.,Ltd holds the copyright of the touch panel driver.

EIZO's End User License Agreement and support for the Software and limitation of liability

  1. End user license agreement and Software operation confirmation
    (1) The Driver Software or its utility which you, the end user, are going to download from this site and install (hereinafter the 'Software') shall be used only on your own responsibility and before you use the Software, please read carefully the end user license agreement offered by the licensors. The end user license agreement will be displayed at the time you start to download or install the Software.
    (2) EIZO Corporation (hereinafter 'EIZO') hereby informs you of the possibility of trouble occurring which might be caused by using the Software in combination with some operating software, applications or other computer environment you may use. Before starting to use the Software, conducting the operation confirmation of the Software in your computer environment is highly recommended.
    (3) EIZO has confirmed that the Software works with applicable EIZO's products (hereinafter the 'Operation Confirmation'). This Operation Confirmation has only been conducted with the particular operating system environment designated in the user's manual of EIZO's products.
    Please note that although the Software will be version updated and the updated Software will be released from time to time by the Touch Panel manufacturers, the version of the Software EIZO has conducted the Operation Confirmation is limited to the Software which you can download from EIZO's website. In case you use a Software version which EIZO does not provide at EIZO's website, such Software shall be used at your sole risk and EIZO disclaims any responsibilities relating to such Software.

  2. EIZO's support for the Software and limitation of liability
    (1) EIZO has no liability for any damages, including but not limited to, the system corruption, data missing occurred from downloading or installing of the Software. Backing-up all systems and data in your using computer environment before downloading or installing the Software is highly recommended.
    (2) As EIZO's technical support for the Software, EIZO accepts your inquiries relating to troubles arising from the Software. EIZO will respond to your inquiries with information about the causes, such as bugs in the Software, or about the means of fixing the trouble as long as EIZO obtained in its research for the trouble. This support is available only when you use the Software under the operating system environment described above 1. (3).
    (3) All the responsibility EIZO undertakes in connection with the Software is limited only to the technical support described above in 2. (2). In no event shall EIZO be liable for direct, indirect, special, incidental or consequential damages (including, without limitation, any cost incurred to solve the trouble, loss of business profit, business interruption, any claim for damage made from third parties or any other special damage) arising out of the use or inability to use the Software or in any connection with the Software.

I agree to the above license terms.

Applicable productsOSesVersionSizeDownload
FDS1721T Windows 10 (64-bit)
Windows 10 (32-bit)
Windows 8.1 (64-bit)
Windows 8.1 (32-bit)
Windows 7 (32-bit)
Windows 7 (64-bit)
Windows Vista (32-bit)
Windows XP (32-bit)
4.2.2.1_XPAL3 (GenTouch Software)2.95 MB
On 282, 10 09, 2005 at 09:26:24AM +0200, Stefan Lucke wrote:
> Hi,
>

Touchkit Usb Controller

Touchkit Mice & Touchpads Driver Download> based on the touchkit USB and livebook PS/2 touchscreen driver,
> I made a driver for the touchkit PS/2 version. The work is based upon
> kernel 2.6.13.2 .
>
> The egalax touchsreen controller (PS/2 or USB version) is used
> in this 7' device:
> http://www.cartft.com/catalog/il/449
>
> Currently I'm using the PS/2 version in a DirectFB enviroment.
> http://www.directfb.org/
> http://mail.directfb.org/pipermail/directfb-dev/2005-September/000705.html
> http://mail.directfb.org/pipermail/directfb-dev/2005-September/000706.html
>
>
> Could you please have a look at it and tell my your comments on
> what would be additional required to get it included into kernel tree.

Hi Stefan,

first if you want people to review your code please don't send such small
patches in compressed form. In general patch looks good, but see comments
below.

> diff -uprN linux-2.6.13.2.vanilla/drivers/input/mouse/Makefile linux-2.6.13.2.touchkit_ps2/drivers/input/mouse/Makefile
> --- linux-2.6.13.2.vanilla/drivers/input/mouse/Makefile 2005-09-17 03:02:12.000000000 +0200
> +++ linux-2.6.13.2.touchkit_ps2/drivers/input/mouse/Makefile 2005-09-23 18:09:08.000000000 +0200
> @@ -15,4 +15,4 @@ obj-$(CONFIG_MOUSE_SERIAL) += sermouse.o
> obj-$(CONFIG_MOUSE_HIL) += hil_ptr.o
> obj-$(CONFIG_MOUSE_VSXXXAA) += vsxxxaa.o
>
> -psmouse-objs := psmouse-base.o alps.o logips2pp.o synaptics.o lifebook.o
> +psmouse-objs := psmouse-base.o alps.o logips2pp.o synaptics.o lifebook.o touchkit_ps2.o
> diff -uprN linux-2.6.13.2.vanilla/drivers/input/mouse/psmouse-base.c linux-2.6.13.2.touchkit_ps2/drivers/input/mouse/psmouse-base.c
> --- linux-2.6.13.2.vanilla/drivers/input/mouse/psmouse-base.c 2005-09-17 03:02:12.000000000 +0200
> +++ linux-2.6.13.2.touchkit_ps2/drivers/input/mouse/psmouse-base.c 2005-09-23 19:10:42.000000000 +0200
> @@ -25,6 +25,7 @@
> #include 'logips2pp.h'
> #include 'alps.h'
> #include 'lifebook.h'
> +#include 'touchkit_ps2.h'
>
> #define DRIVER_DESC 'PS/2 mouse driver'
>
> @@ -456,6 +457,13 @@ static int psmouse_extensions(struct psm
> }
> }
>
> + if (touchkit_ps2_detect(psmouse, set_properties) 0) {
> + if (max_proto > PSMOUSE_IMEX) {
> + if (!set_properties || touchkit_ps2_init(psmouse) 0)
> + return PSMOUSE_TOUCHKIT_PS2;
> + }
> + }
> +
> /*
> * Try Kensington ThinkingMouse (we try first, because synaptics probe
> * upsets the thinkingmouse).
> @@ -518,6 +526,10 @@ static int psmouse_extensions(struct psm
>
> if (max_proto >= PSMOUSE_IMPS && intellimouse_detect(psmouse, set_properties) 0)
> return PSMOUSE_IMPS;
> +#if 0
> + if (max_proto >= PSMOUSE_TOUCHKIT_PS2 && touchkit_ps2_detect(psmouse, set_properties) 0)
> + return PSMOUSE_TOUCHKIT_PS2;
> +#endif

Hmm, is this part really needed ?

>
> /*
> * Okay, all failed, we have a standard mouse here. The number of the buttons
> @@ -600,6 +612,13 @@ static struct psmouse_protocol psmouse_p
> .init = lifebook_init,
> },
> {
> + .type = PSMOUSE_TOUCHKIT_PS2,
> + .name = 'touchkitPS/2',
> + .alias = 'touchkit',
> + .detect = touchkit_ps2_detect,
> + .init = touchkit_ps2_init,
> + },
> + {
> .type = PSMOUSE_AUTO,
> .name = 'auto',
> .alias = 'any',
> diff -uprN linux-2.6.13.2.vanilla/drivers/input/mouse/psmouse.h linux-2.6.13.2.touchkit_ps2/drivers/input/mouse/psmouse.h
> --- linux-2.6.13.2.vanilla/drivers/input/mouse/psmouse.h 2005-09-17 03:02:12.000000000 +0200
> +++ linux-2.6.13.2.touchkit_ps2/drivers/input/mouse/psmouse.h 2005-09-23 17:46:38.000000000 +0200
> @@ -78,6 +78,7 @@ enum psmouse_type {
> PSMOUSE_SYNAPTICS,
> PSMOUSE_ALPS,
> PSMOUSE_LIFEBOOK,
> + PSMOUSE_TOUCHKIT_PS2,
> PSMOUSE_AUTO /* This one should always be last */
> };
>
> diff -uprN linux-2.6.13.2.vanilla/drivers/input/mouse/touchkit_ps2.c linux-2.6.13.2.touchkit_ps2/drivers/input/mouse/touchkit_ps2.c
> --- linux-2.6.13.2.vanilla/drivers/input/mouse/touchkit_ps2.c 1970-01-01 01:00:00.000000000 +0100
> +++ linux-2.6.13.2.touchkit_ps2/drivers/input/mouse/touchkit_ps2.c 2005-09-25 12:23:58.000000000 +0200
> @@ -0,0 +1,180 @@
> +/* ----------------------------------------------------------------------------
> + * touchkit_ps2.c -- Driver for eGalax TouchKit PS/2 Touchscreens
> + *
> + * Copyright (C) 2005 by Stefan Lucke
> + * Copyright (C) 2004 by Daniel Ritz
> + * Copyright (C) by Todd E. Johnson (mtouchusb.c)
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of the
> + * License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful, but
> + * WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + * General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
> + *
> + * Based upon touchkitusb.c
> + *
> + * Vendor documentation is available in support section of:
> + * http://www.egalax.com.tw/
> + *
> + */
> +
> +#include <linux/config.h>
> +#include <linux/kernel.h>
> +#include <linux/slab.h>
> +
> +#include <linux/input.h>
> +#include <linux/serio.h>
> +#include <linux/libps2.h>
> +#include <linux/dmi.h>
> +
> +#include 'psmouse.h'
> +#include 'touchkit_ps2.h'
> +
> +
> +#if !defined(DEBUG) && defined(CONFIG_USB_DEBUG)
> +#define DEBUG
> +#endif

Touchpads

Unused ?

> +
> +#define TOUCHKIT_MIN_XC 0x0
> +#define TOUCHKIT_MAX_XC 0x07ff
> +#define TOUCHKIT_XC_FUZZ 0x0
> +#define TOUCHKIT_XC_FLAT 0x0
> +#define TOUCHKIT_MIN_YC 0x0
> +#define TOUCHKIT_MAX_YC 0x07ff
> +#define TOUCHKIT_YC_FUZZ 0x0
> +#define TOUCHKIT_YC_FLAT 0x0
> +#define TOUCHKIT_REPORT_DATA_SIZE 8
> +
> +#define TOUCHKIT_DOWN 0x01
> +#define TOUCHKIT_POINT_TOUCH 0x81
> +#define TOUCHKIT_POINT_NOTOUCH 0x80
> +
> +#define TOUCHKIT_GET_TOUCHED(dat) ((((dat)[0]) & TOUCHKIT_DOWN) ? 1 : 0)
> +#define TOUCHKIT_GET_X(dat) (((dat)[1] << 7) | (dat)[2])
> +#define TOUCHKIT_GET_Y(dat) (((dat)[3] << 7) | (dat)[4])
> +
> +#define DRIVER_VERSION 'v0.1'
> +#define DRIVER_AUTHOR 'Stefan Lucke <ste...@lucke.in-berlin.de>'
> +#define DRIVER_DESC 'eGalax TouchKit PS/2 Touchscreen Driver'
> +
> +static int xyswap = 0;
> +module_param(xyswap, bool, 0644);
> +MODULE_PARM_DESC(xyswap, 'If set X and Y axes are swapped.');
> +
> +static int xinvert = 0;
> +module_param(xinvert, bool, 0644);
> +MODULE_PARM_DESC(xinvert, 'Invert direction of x axis.');
> +
> +static int yinvert = 0;
> +module_param(yinvert, bool, 0644);
> +MODULE_PARM_DESC(yinvert, 'Invert direction of y axis.');
> +
> +static int xfuzz = 0;
> +module_param(xfuzz, uint, 0644);
> +MODULE_PARM_DESC(xinvert, 'Fuzz value for x axis.');
> +
> +static int yfuzz = 0;
> +module_param(yfuzz, uint, 0644);
> +MODULE_PARM_DESC(yfuzz, 'Fuzz value for y axis.');
> +
> +static int smartpad = 0;
> +module_param(smartpad, bool, 0644);
> +MODULE_PARM_DESC(smartpad, 'Act as a smartpad device.');
> +
> +static int mouse = 0;
> +module_param(mouse, bool, 0644);
> +MODULE_PARM_DESC(mouse, 'Report mouse button');
> +
> +static psmouse_ret_t touchkit_ps2_process_byte(struct psmouse *psmouse, struct pt_regs *regs)
> +{
> + unsigned char *packet = psmouse->packet;
> + struct input_dev *dev = &psmouse->dev;
> + int x,y;

Strange formating, why two tabs ?

> +
> + if (psmouse->pktcnt != 5)
> + return PSMOUSE_GOOD_DATA;
> +
> + input_regs(dev, regs);
> +
> + if (xyswap) {
> + y = TOUCHKIT_GET_X(packet);
> + x = TOUCHKIT_GET_Y(packet);
> + } else {
> + x = TOUCHKIT_GET_X(packet);
> + y = TOUCHKIT_GET_Y(packet);
> + }
> +
> + y = (yinvert) ? TOUCHKIT_MAX_YC - y : y;
> + x = (xinvert) ? TOUCHKIT_MAX_XC - x : x;
> +
> + input_report_key(dev,
> + (mouse) ? BTN_MOUSE : BTN_TOUCH,
> + TOUCHKIT_GET_TOUCHED(packet));
> +
> + if (smartpad)
> + input_report_key(dev, BTN_TOOL_FINGER, 1);
> +
> + input_report_abs(dev, ABS_X, x);
> + input_report_abs(dev, ABS_Y, y);
> +
> + input_sync(dev);
> +
> + return PSMOUSE_FULL_PACKET;
> +}
> +
> +int touchkit_ps2_detect(struct psmouse *psmouse, int set_properties)
> +{
> + unsigned char param[3];

Two tabs again.

> +
> + if (set_properties) {
> + psmouse->vendor = 'eGalax';
> + psmouse->name = 'Touchscreen';
> + }

AFAIK this should be done after device is really detected.

Touchkit Download Windows 10

> +
> + param[0] = 1;
> + param[1] = 'A';
> +
> + if (ps2_command(&psmouse->ps2dev, param, (2<<12)|(3<<8)|0x0A) 0 &&

Touchkit Install

Can you add descriptive #define for (2<<12)|(3<<8)|0x0A) ? Bare magic
numbers are ugly.

> + param[0] 0x0A && param[1] 0x01 && param[2] 'A'){
> + printk(KERN_INFO 'touchkit_ps2: device detectedn');
> + return 0;
> + }
> + return -1;

Use single tab not spaces.

> +}
> +
> +int touchkit_ps2_init(struct psmouse *psmouse)
> +{
> + psmouse->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
> +
> + set_bit((mouse) ? BTN_MOUSE : BTN_TOUCH,psmouse->dev.keybit);
> + if (smartpad)
> + set_bit(BTN_TOOL_FINGER,psmouse->dev.keybit);
> +
> + psmouse->dev.absbit[0] = BIT(ABS_X) | BIT(ABS_Y);
> +
> + /* Used to Scale Compensated Data */

Touchkit Mice & Touchpads Driver Download

Touchkit usb controller

Same here.

Touchpads

> + psmouse->dev.absmin[ABS_X] = TOUCHKIT_MIN_XC;
> + psmouse->dev.absmax[ABS_X] = TOUCHKIT_MAX_XC;
> + psmouse->dev.absfuzz[ABS_X] = xfuzz;
> + psmouse->dev.absflat[ABS_X] = TOUCHKIT_XC_FLAT;
> + psmouse->dev.absmin[ABS_Y] = TOUCHKIT_MIN_YC;
> + psmouse->dev.absmax[ABS_Y] = TOUCHKIT_MAX_YC;
> + psmouse->dev.absfuzz[ABS_Y] = yfuzz;
> + psmouse->dev.absflat[ABS_Y] = TOUCHKIT_YC_FLAT;
> +
> + input_set_abs_params(&psmouse->dev, ABS_X, 0, 0x07ff, xfuzz, 0);
> + input_set_abs_params(&psmouse->dev, ABS_Y, 0, 0x07ff, yfuzz, 0);
> +
> + psmouse->protocol_handler = touchkit_ps2_process_byte;
> + psmouse->pktsize = 5;
> +
> + return 0;
> +}
> diff -uprN linux-2.6.13.2.vanilla/drivers/input/mouse/touchkit_ps2.h linux-2.6.13.2.touchkit_ps2/drivers/input/mouse/touchkit_ps2.h
> --- linux-2.6.13.2.vanilla/drivers/input/mouse/touchkit_ps2.h 1970-01-01 01:00:00.000000000 +0100
> +++ linux-2.6.13.2.touchkit_ps2/drivers/input/mouse/touchkit_ps2.h 2005-09-24 12:34:23.000000000 +0200
> @@ -0,0 +1,18 @@
> +/* ----------------------------------------------------------------------------
> + * touchkit_ps2.h -- Driver for eGalax TouchKit PS/2 Touchscreens
> + *
> + * Copyright (C) 2005 by Stefan Lucke
> + * Copyright (c) 2005 Vojtech Pavlik
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License version 2 as published by
> + * the Free Software Foundation.
> + */
> +
> +#ifndef _TOUCHKIT_PS2_H
> +#define _TOUCHKIT_PS2_H
> +
> +int touchkit_ps2_detect(struct psmouse *psmouse, int set_properties);
> +int touchkit_ps2_init(struct psmouse *psmouse);
> +
> +#endif

--
Andrey Panin | Linux and UNIX system administrator
pa...@donpac.ru | PGP key: wwwkeys.pgp.net
-
To unsubscribe from this list: send the line 'unsubscribe linux-kernel' in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/