js_x, KB Gear jam studio / Pablo graphix tablet drivers...
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
js_x, KB Gear jam studio / Pablo graphix tablet drivers...
I'm really stuck on this one, and i've been for days on google now, only to run in circles
I have a graphix tablet that i can't find drivers for linux for it. The company who made it went out of business before they even made win2000 drivers, and wine won't even install the 95/98 drivers. There are people who have made XP/2000/2003 drivers, but wine will not install them either.
From alllllllllllllll the info i've gathered so far, XORG makes a ftp.x.org/pub/X11R6.9.0/doc/html/js_x.4.html 'js_x' driver for it, but the article doesn't say how to USE it. I've also been to the Linux Wacom project on SF and that didn't work either. Some guy wrote an article that i came across on google, and he talked about how he checked the packets from the device, and wrote a driver to handle them. The problem is, i don't know what the hell to DO with the files! I'm just too new still . I have also come across a looooottt of diff files posted on the net for it, but again, it might as well be Arabic to me.
Here are the contents of the two files that guy wrote:
tablet.c
Code:
#include <stdio.h>
#include <termios.h>
#include <unistd.h>
#include <fcntl.h>
#include "tablet.h"
#define BUFLEN 100
int tablet_fd = -1;
int tablet_x = 0, tablet_y = 0;
int tablet_button = 0, tablet_touch = 0, tablet_pressure = 0;
static void (*callback_func)(void) = NULL;
/* returns 1 for success */
int
tablet_init(void)
{
int fd;
struct termios t;
fd=open(TABLET_FILE,O_RDWR);
if (fd<0)
return perror(TABLET_FILE),0;
tcgetattr(fd,&t);
t.c_cflag|=CLOCAL|CS8;
t.c_cflag&=~CRTSCTS;
t.c_iflag&=~IGNPAR;
t.c_oflag&=~ONLCR;
t.c_lflag&=~(ECHOE|ECHOK|ECHOKE|ECHOCTL);
cfsetospeed(&t,B9600);
t.c_cc[VTIME]=1;
tcsetattr(fd,TCSANOW,&t);
tablet_fd = fd;
return 1;
}
static void
got_packet(unsigned char *s, int len)
{
if ((len == 1) && ((s[0] & 0x0F) == 0x08)) {
/* so far as I can tell this is just a pen-in-range
* notification. big deal. */
} else if (len == 6) {
/* the packets look like this (second line is bit significance):
* 1??? 00bt 0xxx xxxx 0xx0 0xxx 0yyy yyyy 0y00 yyyy 00pp pppp
* 876 5432 10 ba9 765 4321 0 ba98 54 3210
* so 12-bits of X, 12-bits of Y, button, touch, 6-bits of pressure,
* and 3 mystery bits */
tablet_button = (s[0] & 0x02) ? 1 : 0;
tablet_touch = (s[0] & 0x01) ? 1 : 0;
tablet_x = (s[2] >> 5) | ((s[1] & 0x7F) << 2) | ((s[2] & 0x07) << 9);
tablet_y = (s[4] >> 6) | ((s[3] & 0x7F) << 1) | ((s[4] & 0x0F) << 8);
tablet_pressure = s[5] & 0x3F;
if (callback_func)
callback_func();
} else {
/* craziness */
}
}
/* returns the number of complete packets read */
int
tablet_read(void)
{
static unsigned char buf[BUFLEN];
static int buflen = 0;
unsigned char s[BUFLEN];
int i,j;
int ret = 0;
i = read(tablet_fd, s, BUFLEN);
if (i <= 0)
return 0;
for (j = 0; j < i; j++) {
if (s[j] & 0x80) {
if (buflen) {
got_packet(buf, buflen);
ret++;
}
buflen = 0;
}
buf[buflen++] = s[j];
if (buflen >= BUFLEN) {
buflen = 0;
printf("overflow in tablet packetizing\n");
}
}
return ret;
}
void
tablet_register(void (*func)(void))
{
callback_func = func;
}
void
tablet_close(void)
{
close(tablet_fd);
tablet_fd = -1;
}
tablet.h
Code:
#ifndef TABLET_H
#define TABLET_H
#define TABLET_FILE "/dev/ttyS0"
extern int tablet_fd;
extern int tablet_x, tablet_y;
extern int tablet_button, tablet_touch, tablet_pressure;
/* open the tablet, returns 1 for success */
int tablet_init(void);
/* perform one read() on the tablet, returns num packets read */
int tablet_read(void);
/* register a callback that is called when tablet_* vars update */
void tablet_register(void (*func)(void));
/* close the tablet */
void tablet_close(void);
#endif /* TABLET_H */
I was thinking that if anyone might know a way to get the touchpad on a laptop to sense something OTHER than your fingers, i could use THAT as a drawing pad. I hate to post a thread over something that most would call a 'toy', but this would speed up my development time significantly. Right now, the only thing it's significantly doing, is WASTING my time.
This person said they got it working, but i don't understand all their directions, as he doesn't explain how and where he did everything.
Also, while plugging and unplugging it in the different usb ports, dmesg gave this:
Code:
usb 2-1: USB disconnect, address 3
usb 2-1: new low speed USB device using uhci_hcd and address 4
usb 2-1: configuration #1 chosen from 1 choice
hiddev96: USB HID v1.00 Device [KBGear USB Tablet] on usb-0000:00:1d.1-1
usb 2-1: USB disconnect, address 4
usb 2-1: new low speed USB device using uhci_hcd and address 5
usb 2-1: configuration #1 chosen from 1 choice
hiddev96: USB HID v1.00 Device [KBGear USB Tablet] on usb-0000:00:1d.1-1
usb 2-1: USB disconnect, address 5
usb 1-1: new low speed USB device using uhci_hcd and address 2
usb 1-1: configuration #1 chosen from 1 choice
hiddev96: USB HID v1.00 Device [KBGear USB Tablet] on usb-0000:00:1d.0-1
usb 1-1: USB disconnect, address 2
usb 1-2: new low speed USB device using uhci_hcd and address 3
usb 1-2: configuration #1 chosen from 1 choice
hiddev96: USB HID v1.00 Device [KBGear USB Tablet] on usb-0000:00:1d.0-2
I seen where someone was posting a bunch of gibberish about files that made no sense. After digging around, i found the same files. I know i need to edit them or use them, but i don't know how?
/usr/src/kernels/2.6.18-1.2798.fc6-i686/drivers/usb/input
That's where 'Kconfig' is, but i don't know what to DO with it, but the option IS IN THERE to include a module for my graphix tablet. Can someone please tell me what to do with that file? Do i recompile the kernel with i
This also looks promising, but i don't know how to get to the page that it's showing from MAN.
Using Firefox, if you click the link, hit <ctrl><f> and type USB_WACOM and it will take you to the spot that i'm referring to: http://kernelfr.traduc.org/ftp/2.6.1.../input/Kconfig
Now, if i can find that directory, am i not able to try to recompile those files? Or do i even NEEd to? Or will it mess things up? If not, then how to i do it so that there's a module created for my device?
Does ANYONe know what to do with the file:
/usr/src/kernels/2.6.18-1.2798.fc6-i686/drivers/usb/input/Kconfig
I see that it is supposed to be run by something OTHER than the terminal, because it's text is interpreted, and when it's supposed to run, it will ask me if i wan't support for my tablet. This is good... but how do i get it to RUN!?
Thanx
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.