touch screen technology

Capacitive touch screen: The capacitive touch screen is made up of a glass panel that is coated with a material.
The property of this material is that it can store electrical charge. So the capacitive touchscreens basically stores electrical charge.
But for good, Human body can also store charge. So, when you touch this screen with your finger, some of these charges on the screen gets transferred to your finger. The oscillator circuits located at the corner of your system will then sense this decrease in the charge on screen and the spot the exact location where touch occurred, and then transfers this specified information to the touchscreen driver software.

Multi touch support available
Visibility good even in sunlight
Highly sensitive to finger touch leading to ease of use
Not prone to dust particles
Glossy look and feel

Need to have atleast 5% humidity to achieve capacitive effect
More expensive than Resistive touch screen
Doesn't work with inanimate objects/fingernails/gloved fingers
Latest technology, may need to evolve a bit more!

Resistive touch screen: Resistive touch screen, on the other hand is again made up of normal glass panel. However, this glass panel in this case is coated with three layers.
Two of these layers () being conductive and resistive are kept apart using spacers while the third scratch-resistant layer covers the whole setup
When the resistive touch screen system is running, current flows through these layers. On a finger touch, the two layers get connected and change in electrical field occurs. The system calculates the coordinates of point of contact and passes them to touch screen driver software.
It is made of two resistive layers opposing each other with a conducting transparent material call Indium tin oxide (ITO). ITO has 100 – 500 ohm sensitivity per sq. m

Relatively cheaper
Can operate with any pointing devices like stylus, pen, nail etc
Can operate at any level of humidity
Ease of use, as it could be used even with your winter gloves on!
Very useful for people using handwriting recongition system, due to ease of use with a stylus!
More accurate than capacitive touch screen!
Old technology and hence more reliable!

Multi touch support not available. Though technology did evolve after some modifications with the existing resistive touch screen circuitry, its still not 100% developed yet!
Highly sensitive. As it can operate with almost any sort of pointing devices, can be more vulnerable with dust particles!
Poor visibility in sunlight, mostly due to multiple layers reflecting light!
Screen, being sensitive at the upper layer, can be more vulnerable to scratches!

do we really need sysfs?

I and my colleague were discussing sometime back about the kernel and how the data flow occurs from user to the hardware. How is the kernel driver api is called and in what sequence? Then He poped one question to me - why do we require the SYSFS when we already have DEVFS?

My first answer was - devfs is the one which actually talk to device driver and the using sysfs, we set or get the attributes for the device. But this answer was not convincing. He posted the question in and searched but it was not convincing. Even I wondered how two are different.

Searching the internet tells that the sysfs was originally developed to test the new device model which was being written for the kernel 2.5 version. That time the procfs was used primarily for the testing but since the procfs is basically fs for the information on process and other system related information. Due to this, procfs was cluttered with lots of non-process information. So the whole idea was to write a new file system which can aide to the development of new device model. Moreover, there was no mechanism for hotplug in linux kernel. So with the development of new sysfs (previously called ddfs which was based on in-memory fs, ramfs), these were achieved. 

Sysfs is a virtual filesystem which provides a userspace-visible representation of the device model. The sysfs filesystem is usually mounted on /sys. Sysfs is designed to export the information present in the device tree which would then no longer clutter up procfs. Sysfs is used by several utilities to access information about hardware and its driver  such as udev. Scripts have been written to access information and some scripts configure device drivers and devices via their attributes. For every kobject that is registered with the system, a directory is created for it in sysfs.

The device model and sysfs are sometimes confused with each other, but they are distinct entities. The device model functions just fine without sysfs (but the reverse is not true). Driver writers generally need not worry about sysfs; it is magically created and implemented by the driver model and bus driver code. The one exception comes about when it comes to exporting attributes via sysfs. These attributes represent some aspect of how the device and/or its driver operate; they may or may not be writeable from user space. Sysfs is now the preferred way (over /proc or ioctl()) to export these variables to user space. 

I think, this is a good point to start discussion on this topic. Hope, this clears some of the doubts. Still I have some doubts, which I am googling right now ;)

cya then...for now The Big Bang Theory (specially Penny) waiting for me...Bazingaaaa

Welcome Note


I have seen my friends, my colleagues, my seniors and juniors almost everyone near me struggling one or other day with some problem in Linux. Though there are forum which do discuss about the problems but sometimes we are not able to find the proper solution or say more convincing solutions.
After discussing with my friends, we realized that there should be some discussion between us. This is not merely limited to the problem solving but also publishing the problems faced by us and the solutions to them. 

Initially, I am starting with Linux OS related discussions but everyone is welcomed to discuss even other interesting topics too. 

P.S. - Please take active part and share the knowledge.