My boss recently bought some inexio touchscreens. Including a nice little 12.1 inch variant. I thought about using it in my living room for controlling audio et cetera. But alas, a no go. Because there weren’t any linux device drivers available for it. So I played with the idea of creating my own driver for it.
Examples enough: usbtouchscreen and mtouchusb. But how to start (I have totally no c experience). I think the biggest problem is getting to know the kernel api. After reading through the source code of some modules I realised that a lot of the lines were kernel macro’s & functions and just a little bit of real coding.
Searching for tutorials produced some nice results. But a lot of the tutorials were of a real “hello world” level. And very few (no?) tutorials/how to’s rose above the mediocre level. Some few I found:
- www.linuxjournal.com/article/7353
- www.prabusurendra.com/tutors/lt2/lt2.html
- www.freesoftwaremagazine.com/articles/drivers_linux
- http://www.linuxjournal.com/article/4786
- lwn.net/Kernel/LDD3 (chapter 13)
- usb-skeleton.c
Helpful, but not really geared towards my problem. So I ordered some books, asked the manufacturer for some info on the protocol (hope they will co-operate!) and spent a lot of time reading tutorials and source code.
But I still have a lot of questions. What is the best IDE (kdevelop I believe)? Why has no c IDE/editor descent auto-completion for kernel functions/macros? Where can I ask my question without being flamed to death?
When the driver is ready (or when the project has failed) I’ll post some tips and maybe a full blown tutorial on (not) writing device drivers.
2 comments ↓
I there,
I have some iNexio touchscreens also and I’m trying (also) to make them run on Suse 10.3.
They are already available for some distros (ex. Fedora Core 6)
Hi Pedro. Do you know Kernel module Fedora Core uses for the iNexio touchscreen?
Thanks!
Leave a Comment