- Ibm T30 Drivers Windows 7
- Ibm Thinkpad T30
- Ibm Thinkpad T43 Drivers Download
- Ibm Thinkpad Drivers Download
How do i enable the wifi on the ibm thinkpad t30? Submitted: 6 years ago. Category: Networking. I've been trying to install ethernet drivers on a IBM ThinkPad but have had no luck with the downloaded drivers from IBM/Lenovo. 2 iPod Touches, an iPad, a Mac, and 2 HP laptops. Oct 04, 2010 This will get a thinkpad T30 up and running with everything including Quartz Extreme acclerated graphics. Core image will never work so this is now as far as this machine will get to a real mac. This is intended for Jas 10.4.8 but it might work with.
Model IBM ThinkPad T30 2366 - 14.1' - P4-M - 256 MB RAM - 20 GB HDD- IBM ThinkPad T30 2366 - 14.1' - P4-M - 256 MB RAM - 20 GB HDD23666U9
- IBM ThinkPad T30 2366 - 14.1' - P4-M - Win XP Pro - 256 MB RAM - 20 GB HDDtc068no
- IBM ThinkPad T30 2366 - 14.1' - P4-M - Win XP Pro - 256 MB RAM - 20 GB HDD2366gu4
- IBM ThinkPad T30 2366 - 14.1' - P4-M - Win XP Pro - 256 MB RAM - 20 GB HDD2366h1u
- ThinkPad T30 2366 - P4-M 1.6 GHz - 14.1' TFT236663u
- IBM ThinkPad T30 2366 - 14.1' - P4-M - Win XP Pro - 256 MB RAM - 20 GB HDD2366pu2
- IBM ThinkPad T30 2366 - 14.1' - P4-M - Win XP Pro - 256 MB RAM - 20 GB HDDtc063dk
- IBM ThinkPad T30 2366 - 14.1' - P4-M - Win XP Pro - 256 MB RAM - 20 GB HDD23661u3
- IBM ThinkPad T30 2366 - 14.1' - P4-M - Win XP Pro - 256 MB RAM - 20 GB HDD2366eu0
- IBM ThinkPad T30 2366 - 14.1' - P4-M - Win XP Pro - 256 MB RAM - 20 GB HDD2366nu6
- IBM ThinkPad T30 2366 - 14.1' - P4-M - Win XP Pro - 256 MB RAM - 20 GB HDD236668u
- IBM ThinkPad T30 2366 - 14.1' - P4-M - Win XP Pro - 256 MB RAM - 20 GB HDD2366nu7
- IBM ThinkPad T30 2366 - 14.1' - P4-M - Win XP Pro - 256 MB RAM - 20 GB HDD2366au5
Enable 'Three-Finger Swipe,' and open- and close-pinch gestures using synclient and synthetic X events
Multitouch interfaces provide a great deal of benefits for integrating new interaction modes within applications. Newer hardware and drivers on Mac OS X and Microsoft® Windows® allow for a variety of gestures beyond point and click that create more efficient application navigation. This article provides tools and code needed to add some of this new gesture support on older Linux®-enabled hardware. Building on the output of the synclient program, the Perl code presented here allows you to assign specific application functions to 'Three-Finger Swipe,' as well as open- and close-pinch gestures.
Requirements
Hardware
The code presented here is designed for use with a computer equipped with a Synaptics TouchPad only and happened to be developed on an IBM® ThinkPad T30. You can find Synaptics touch-pads on many laptops ranging from Acer Aspires to Toshiba Tecras. Consult the Related topics for a Synaptics TouchPad software project hardware compatibility list to see if you hit the jackpot.
Software
You need a modern Linux kernel with evdev support. Fortunately, most modern distributions have this functionality built in. Many distributions come with the Synaptics package as well, which includes synclient, used for monitoring TouchPad events. Fedora Core, for example, also includes the proper X Window System configuration to enable TouchPad usage with minimal modification by the user. Other distributions, such as Ubuntu V7.10, may require further configuration before the Synaptics package — installed with the command sudo apt-getinstall tpconfig
— will work correctly. Consult Related topics for more information on achieving basic functionality with Synaptics TouchPads under Linux.
You also need the Time::HiRes module from CPAN to provide subsecond timing control for processing TouchPad events. In addition, you need the X11::GuiTest module to send synthetic X Window events to applications. See Related topics for these tools.
Ensuring basic functionality
If mouse control is enabled with the TouchPad, check for adequate multifinger detection for gesture support. Run synclient -m 100
and try different touches on the TouchPad. You should see output similar to the following.
Listing 1. Example synclient -m 100 output
Try one-, two-, and three-finger touches to make sure events are detected correctly. Make sure the TouchPad can detect three fingers, as the first gesture to be added is 'Three-Finger Swipe.' Notice how the TouchPad picks up zero fingers, as well as the X and Y coordinate readings when pressing two fingers at widely varying spaces. The processing script below makes use of some these characteristics to help detect open and close pinches. Press Ctrl+c to exit the synclient program.
General program approach
Using syclient output for monitoring the TouchPad state is a simple and effective way for adding further interface options to Linux applications. The gestureListener.pl program introduced below opens a pipe to read from the synclient program and processes the TouchPad events to detect gestures. These gestures are linked with keyboard commands sent to the current in-focus application in X Window System.
Swipe gestures
The Three-Finger Swipe is a relatively simple gesture to detect, as it simply requires three fingers on the TouchPad moving left or right. Listing 2 shows the beginning of the gestureListener.pl program required to begin processing the synclient output for gesture detection.
Listing 2. gestureListener.pl program beginning
Note that the centerTouchPad
variable and other parameters may require customization based on your specific Synaptics hardware or driver level. The TouchPadOff=1
option to the synclient command turns off regular TouchPad events. The red 'mouse stick' (on ThinkPads and others) is still available, as well as PS2 and USB mouse support. Turning off the TouchPad is not necessary, but it reduces the problem of identifying nongesture-related mouse events from the swipes and pinches.
The call to GetInputFocus
finds the current window identifier for the window in focus. This allows the SendKeys
command (used later) to send synthetic X Window events to the currently in focus window. Listing 3 starts the main program loop and reads the synclient output.
Listing 3. Main logic loop start
Resetting the event-detection history arrays at each timeout is critical to eliminating carry-over between TouchPad gestures. Listing 4 shows the beginning of the three-finger detection in the main program loop.
Listing 4. Three-finger processing
Ibm T30 Drivers Windows 7
After 10 points of three-finger data are collected, the X coordinates are processed to create ascending and descending sorts. If the ascending sort matches the current value of X coordinates, the right-swipe condition is set. Conversely, if the descending sort is matched, the left-swipe condition is set. The eventString
variable holds this condition and will be executed as shown below.
Listing 5. Main logic continued, event execution
At this point, each data structure for pinch or swipe is reset if three fingers are not detected. If an event has been set and the current time is far enough from the last event execute time, a new event is executed. The SendKeys
subroutine sends the appropriate event (Alt+left or right arrow) to the currently focused application. As shown in the demo video (see Related topics), these three-finger gestures are used to move forward and backward in the browsing history.
Pinch gestures
Pinch gestures are substantially more complicated to detect, especially on the older hardware used to develop this article. Monitoring the open-and-close gestures in real time using a tool like kst is a helpful way to extract relevant features from the TouchPad data. Insert the code in Listing 6 at line 65 (above the else
) to begin the close-pinch detection section.
Listing 6. Close-pinch detection
One or two fingers are accepted as part of the pinch-detection step to enhance the overall tracking. Slightly offset timings of touches and releases, as well as moving one finger slightly off the TouchPad during pinch movements are dealt with more easily by accepting one or two touches as part of the pinch movement.
After 50 or more data points have been collected, the average start and end positions of the past 50 data points are computed. The third if
statement performs four separate checks to ensure that the start and end points are in the correct parts for a close-pinch detection — specifically if the X and Y averages for the start points need to be more than the close-pinch start points. That is, the positions of the fingers need to be in the corners. Conversely, the end points need to be within the close-pinch end points. getStrAvg
and getEndAvg
create averages of the three start and end points, which are a more reliable data point for the check.
Ibm Thinkpad T30
True multitouch capability would allow for an X and Y coordinate reading of each finger position. The Synaptics hardware available does not have this capability, but does provide consistent behaviors as the two-finger touch points are 'averaged' into one output for the synclient program. Monitoring the output of the synclient program shows that when two fingers touch in the southwest and northeast corners, the values rapidly go from the corners to the center of the TouchPad. If the fingers are kept in the corners, the synclient output shows the X and Y coordinates staying near the center. As the fingers are moved toward the center, this automatic averaging shows slight perturbation. The wiggle in the data is detected by the section of code above to indicate a close pinch, as opposed to the synthetic averaging of data points when the fingers are held in the corners without movement.
Ten of the trailing values of the X and Y coordinate history are averaged together. The difference between each of the last 10 trailing values and the average for the last 10 is then computed. If the overall difference is great enough (greater than 80 in this case), enough wiggle has been detected and the close-pinch condition is set in eventString
.
Add the code shown in Listing 7 at line 103 (below the close-pinch 50-point if
closing bracket ) for open-pinch detection.
Listing 7. Open-pinch detection
In addition to requiring substantially fewer data points for reliable detection of an open pinch, the wiggle-detection step is not necessary. With real-time monitoring using a program like kst, synclient output shows a much broader range of data points collected for the open-pinch gesture. The automatic averaging of the two fingers positions does not produce a large influence on the synclient X and Y coordinates during an open-pinch gesture. Therefore, it is no longer necessary to recognize the wiggle for accurate gesture detection. Listing 8 shows the getStrAvg
and getEndAvg
averaging subroutines.
Listing 8. Two averaging routines
Place the code shown in Listing 8 at line 144 (the end of the file) to complete the gestureListener.pl program. getStrAvg
and getEndAvg
are responsible for returning the average of the first three array elements and the average of the last three array elements, respectively.
Usage
Activating the program is a simple matter of running the command perl gestureListener.pl
. Bring your Web-browsing window into focus and try moving through the browsing history with left and right swipes. Note that due to the smaller track-pad size, as well as the inherent limitations of the ability of the hardware, it may take some practice before you can reliably trigger gesture events. Consult the demonstration video (see Related topics) for examples of hand movements that work on the author's ThinkPad. If you want to re-enable TouchPad 'mouseiness,' run synclient TouchPadOff=0
after exiting the gestureListener.pl program.
Conclusion and further examples
Linkage between gestures and events
Keep in mind that the SendKeys
command will send the appropriate commands (Alt+Left, Ctrl+/-, etc.) to the currently focused application, regardless of the functionality this triggers. A relatively simple change to consider is specifying different keystrokes or mouse events to send to an application based on the window name.
Further examples and modifications
The combination presented here of analysis and processing of synclient output and synthetic X event creation is only one path for added functionality to the Synaptics TouchPad. Consider adding additional gesture recognition, such as pinch rotate through further feature extraction from the synclient output. Alternatively, modify the Synaptics driver source code to support additional features at the kernel level and rewrite applications to take better advantage of these new input channels.
Downloadable resources
Ibm Thinkpad T43 Drivers Download
- Sample code (os-touchpad.gestureListener_0.1.zip | 2KB)
Ibm Thinkpad Drivers Download
Related topics
- Check out the multitouch demonstration video at YouTube.com.
- See the current state of the Synaptics project, which provides TouchPad drivers to Linux, now integrated with the xorg project at freedesktop.org.
- TuxMobil and Ubuntu have resources on setting up Synaptics TouchPads.
- Grab the Time::HiRes module from CPAN.
- Dennis Paulsens' excellent X11::GuiTest module is available on CPAN.
Comments
Sign in or register to add and subscribe to comments.