<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Shane</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Shane"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Shane"/>
	<updated>2026-04-12T07:31:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:Edge_Twist&amp;diff=54375</id>
		<title>Category:Edge Twist</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:Edge_Twist&amp;diff=54375"/>
		<updated>2013-01-29T23:27:03Z</updated>

		<summary type="html">&lt;p&gt;Shane: Associate with Category:Edge&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad Twist ===&lt;br /&gt;
This page gives an overview of the ThinkPad Twist.&lt;br /&gt;
&lt;br /&gt;
==== Standard Features ====&lt;br /&gt;
*One of the following processors:&lt;br /&gt;
&lt;br /&gt;
**Intel® Core™ i3 – 3217U (1.8 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
**Intel® Core™ i5 – 3317U (2.60 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
**Intel Core i7-3517U CPU @ 1.90GHz (quadcore, 4mb cache each core)&lt;br /&gt;
&lt;br /&gt;
* 12.5&amp;quot; 1366*768 display (glossy) with 10 point multitouch screen&lt;br /&gt;
** Intel graphics adapters&lt;br /&gt;
*** Intel® HD Graphics 4000 &lt;br /&gt;
*** Intel® HD Graphics 3000 (i3-2365) &lt;br /&gt;
&lt;br /&gt;
** Atmel touch adaptor: Atmel maXTouch Digitizer&lt;br /&gt;
&lt;br /&gt;
* 4GB or 8GB DDR3 (soldered in) &lt;br /&gt;
* One of the following storage options:&lt;br /&gt;
&lt;br /&gt;
** 16gb mSata SSD and 320GB or 500gb HDD&lt;br /&gt;
** 128GB SSD&lt;br /&gt;
&lt;br /&gt;
* WLAN adapter &lt;br /&gt;
** Centrino Wireless-N 2230&lt;br /&gt;
&lt;br /&gt;
* LAN adapter:&lt;br /&gt;
** Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller&lt;br /&gt;
&lt;br /&gt;
* Optionally WWAN adapter:&lt;br /&gt;
** Ericsson Business Mobile Networks BV&lt;br /&gt;
&lt;br /&gt;
* Battery internal.&lt;br /&gt;
&lt;br /&gt;
* Internal PCIe slots: &lt;br /&gt;
** 1 full size  - WLAN module&lt;br /&gt;
** 1 half size mSata card or WWAN&lt;br /&gt;
* USB 2x (3.0)&lt;br /&gt;
* miniHDMI&lt;br /&gt;
* DisplayPort&lt;br /&gt;
* SD card reader&lt;br /&gt;
* Size: 313mm x 236mm x 20mm (12.3&amp;quot; x 9.3&amp;quot; x 0.8&amp;quot;)&lt;br /&gt;
* Weight 1.58 kg (3.48 lb)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:twist.png|ThinkPad Twist|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Edge]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_series&amp;diff=54374</id>
		<title>ThinkPad series</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_series&amp;diff=54374"/>
		<updated>2013-01-29T23:20:05Z</updated>

		<summary type="html">&lt;p&gt;Shane: Adding Categories for the Edge series devices&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Current Series=&lt;br /&gt;
==ThinkPad R series==&lt;br /&gt;
Dropping the [[#ThinkPad A series|A series]], IBM introduced a mainstream budget line of ThinkPads in the R series. The RXXe series lacks some of &amp;quot;normal&amp;quot; RXX series features like stereo speakers, touchpad, hot-swappable CD/DVD drive, docking connector and some other things. They also usually feature slower CPU like Intel Celeron (but in newer models also slower Intel Core processors). ACPI functions in modern RXX-e models are just as well supported in Linux as they are for the regular RXX models.&lt;br /&gt;
&lt;br /&gt;
Starting from R61, the R series ThinkPads feature the same chassis (including RollCage) as the [[#ThinkPad T series|T series]] making them virtually indistinguishable from each other.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad T series==&lt;br /&gt;
As successor of the [[#ThinkPad 600 series|600 series]], the T series became IBM mobile productivity line. Usually leading the ThinkPad range in technology, innovation and price, the T series was intended for the travelling businessman - comparatively more stylish, functional, and rugged machines; and easy to disassemble for repair or upgrades. T series ThinkPads are clad in black non-slip rubber with embedded glitter. The case lid has tabs along the edge that interlocks with depressions in the lower case when closed, to reduce case flexing. &lt;br /&gt;
&lt;br /&gt;
===ThinkPad T2x series===&lt;br /&gt;
The ThinkPad T2x models ([[:Category:T20|T20]], [[:Category:T21|T21]], [[:Category:T22|T22]], [[:Category:T23|T23]]) were [[Intel Mobile Pentium III-M]] based, sub-5 lb (2.3 kg) class machines.  These machines typically had 14.1 inch XGA screens, S3 Savage graphics chips and Cirrus Logic sound chips. The T2x series introduced the [[UltraBay|UltraBay 2000]] optical drive bay and titanium-reinforced screen lids. With the [[:Category:T23|T23]], an internal WiFi antenna became available, so WiFi miniPCI cards could be used. Also the [[:Category:T23|T23]] was the first ThinkPad featuring an [[UltraBay|UltraBay Plus]] drive and [[Embedded Security Subsystem]].&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T3x series===&lt;br /&gt;
The T3x series only saw one model, the [[:Category:T30|T30]]. Powered by a [[Intel Mobile Pentium 4-M]] and a Radeon 7500 graphics chip with 16&amp;amp;nbsp;MB of discrete video memory, the T30 was available with 14.1 inch XGA or SXGA screens. The [[:Category:T30|T30]] introduced the [[UltraNav]] touchpad and integrated Bluetooth among ThinkPads. Other features include the [[Embedded Security Subsystem]], [[UltraBay|Ultrabay Plus]] drive, integrated Wireless LAN. The shell is titanium reinforced composite. The whole package was a bit heavier and thicker than both the T2x and the T4x series.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T4x series===&lt;br /&gt;
Includes the [[:Category:T40|T40]], [[:Category:T41|T41]], [[:Category:T42|T42]], [[:Category:T43|T43]], and associated &amp;quot;p&amp;quot; series (for &amp;quot;performance&amp;quot;; e.g., [[:Category:T43p|T43p]]). A typical T4x weighs 2.2 kg (4.9 lb), slightly less than the [[#ThinkPad 600 series|600 series]], and features an [[Intel Pentium M (Dothan)]] Processor, a 14.1 or 15 inch LCD (XGA or SXGA+), an integrated GPU ([[Intel Graphics Media Accelerator 900]]) or a discrete GPU ([[ATI Mobility Radeon 7500]], [[ATI Mobility Radeon 9000|9000]], [[ATI Mobility Radeon X300|X300]], [[ATI Mobility FireGL 9000]], FireGL 9600, [[ATI Mobility FireGL T2| FireGL T2]] and [[ATI Mobility FireGL V3200|FireGL V3200]]), and a hard drive ranging in size from 30 to 100 GB with the [[Active Protection System]] to protect the hard drive ([[:Category:T41|T41]] and later models).  &amp;quot;p&amp;quot; (mobile workstation) models are also available with a 14&amp;quot; SXGA+ or a 15 inch UXGA FlexView display with wide viewing angle and high density IPS technology with resolutions up to 1600x1200. These 15 inch display models weigh slightly more than their lesser brethren, with optical drive and battery, at 2.7 kg (5.9 lb).  Some [[:Category:T42|T42]] and [[:Category:T43|T43]] models feature a biometric security system with [[Integrated Fingerprint Reader]].&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T6x series===&lt;br /&gt;
ThinkPad [[:Category:T60|T60]] contained the [[Intel Core Duo (Yonah)]].  It was paired with either a [[ATI Mobility Radeon X1300]] or [[ATI Mobility Radeon X1400|x1400]] or with an [[ATI Mobility FireGL V5200]] for the performance model. The [[:Category:T60|T60]] was also the first of its kind to support Wireless Wide Area Network (WWAN) out of the box if the option was selected.&lt;br /&gt;
&lt;br /&gt;
The ThinkPad [[:Category:T60|T60]] refresh contained the [[Intel Core 2 Duo (Merom)]]. It gave a processing speed of up to twenty five percent faster than the [[Intel Core Duo (Yonah)|Yonah]] and introduced EM64T into the mobile realm. It was paired with either a [[ATI Mobility Radeon X1300]] or [[ATI Mobility Radeon X1400|x1400]] or with an [[ATI Mobility FireGL V5250]] for the performance model.&lt;br /&gt;
&lt;br /&gt;
ThinkPad [[:Category:T61|T61]] features the Santa Rosa chipset, in addition to the existing [[Intel Core 2 Duo (Merom)]]. The designers found it prudent to move from an ATI based Mobility Radeon to NVIDIA's Quadro NVS series discrete video processors. The move also marked a more aggressive shift to the wide screen format. Introductory [[:Category:T61|T61]] models only shipped with a wide screen. In addition, the designers added a Roll Cage for the screen to decrease the likelihood of damage in the event of a fall. Finally fan blades were overhauled to decrease fan noise and temperature.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad X series==&lt;br /&gt;
===ThinkPad X12x series===&lt;br /&gt;
[[:Category:X121e|X121e]] with Intel i3 or AMD CPUs, appeared 2011.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad X2x series===&lt;br /&gt;
[[Intel Mobile Pentium III]] with [[ATI Rage Mobility M]] ([[:Category:X20|X20]], [[:Category:X21|X21]]) or [[Intel Mobile Pentium III-M]] with [[ATI Mobility Radeon 7000]] ([[:Category:X22|X22]], [[:Category:X23|X23]], [[:Category:X24|X24]]), sub-4 lb machines. Contained processors ranging from [[Intel Mobile Pentium III|MPIII]] 500&amp;amp;nbsp;MHz to [[Intel Mobile Pentium III-M|PIII-M]] 1+&amp;amp;nbsp;GHz. 12.1 inch XGA screens.  Used miniPCI form factor cards, which supports modem and/or ethernet. With the [[:Category:X22|X22]] and later machines, provisions for wireless networking support are built into the chassis.  [[UltraBay|UltraBay 2000]] optical drive support can be fitted via the [[UltraBase X2]] portable docking station option, and extended batteries can give the series a 5 hour running time.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad X3x series===&lt;br /&gt;
[[Intel Mobile Pentium III-M]] with [[Intel Graphics Technology]] ([[:Category:X30|X30]]) or [[Intel Pentium M (Banias)]]/[[Intel Pentium M (Dothan)|(Dothan)]] with [[ATI Mobility Radeon 7000]] ([[:Category:X31|X31]], [[:Category:X32|X32]]), 12.1 inch XGA screens, [[IrDA]], FireWire, Compact Flash card slot. No built-in optical drive. Like the X2x series [[UltraBay|UltraBay Plus]] optical drive support can be fitted via the [[UltraBase X3]] portable docking station option. As the [[UltraBase X3]] can take the same battery as the notebook, the running time can be increased to amazing 10 hours.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad X4x Series===&lt;br /&gt;
A continuation of the lightweight X series. Weighting in at 1.2 kg (2.7 lb), the lightest [[:Category:X41|X41]] is 25% lighter than its predecessor, the [[:Category:X31|X31]]. Part of the X4x series, the [[:Category:X41 Tablet|X41 Tablet]] is the first Tablet PC (convertible) ThinkPad. They also get [[UltraBay|UltraBay Slim]] optical drive support via the [[UltraBase X4]] portable docking station option, but it is not compatible with the [[:Category:X41 Tablet|X41 Tablet]].&lt;br /&gt;
&lt;br /&gt;
===ThinkPad X6x Series===&lt;br /&gt;
Starting in 2006, the first models in X6x series were [[:Category:X60|X60]], lighter and smaller [[:Category:X60s|X60s]] and  [[:Category:X60 Tablet|X60 Tablet]] (the two with slower CPU). These models featured [[:Intel_Core_Duo_(Yonah)|Intel Core]] CPUs, later Core 2.&lt;br /&gt;
&lt;br /&gt;
Later, [[:Category:X61|X61]], [[:Category:X61s|X61s]] and [[:Category:X61 Tablet|X61 Tablet]] appeared. These ThinkPads are now migrated to the new Santa Rosa chipset, in addition to the existing [[:Intel_Core_2_Duo_(Merom)|Intel Core 2 (Merom)]] platform and has some design improvements. The X61 features full-blown Core 2 Duo processors, X61s and X61 Tablet can be configured only with low-voltage variants. In many benchmarks, the X61 proved, that it can be as fast as ThinkPad [[:Category:T61|T61]] with same configuration.&lt;br /&gt;
&lt;br /&gt;
Unlike T61 and [[:Category:R61|R61]], the X61 series aren't available with widescreen display option.&lt;br /&gt;
&lt;br /&gt;
X6x series ThinkPads fit in the [[UltraBase X6]], while X6x Tablets fit in [[X6 Tablet UltraBase]] docking stations.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad Edge Series==&lt;br /&gt;
This Series, originally introduced in early 2010 with the 13&amp;quot;(withdrawn), 14&amp;quot; and 15&amp;quot; models, are billed to &amp;quot;reflect a new progressive and strikingly clean appearance while retaining ThinkPad durability and reliability. For example, the laptops include spill-resistant keyboards and value-added ThinkVantage Technologies like the Active Protection System and Rescue and Recovery.&amp;quot;[http://news.lenovo.com/article_display.cfm?article_id=1294]&lt;br /&gt;
&lt;br /&gt;
Complete product details of current (not withdrawn) Edge Series devices can be found in the [http://www.lenovo.com/psref/pdf/edgebook.pdf PSRef for Lenovo ThinkPad Edge Notebooks]&lt;br /&gt;
&lt;br /&gt;
{{Todo|Needs additional info and history added for each of the sub-categories below}}&lt;br /&gt;
&lt;br /&gt;
===ThinkPad Edge 14&amp;quot; and 15&amp;quot; Series===&lt;br /&gt;
This series includes the [[:Category:Edge_14&amp;quot;|Edge 14&amp;quot;]] and [[:Category:Edge_15&amp;quot;|Edge 15&amp;quot;]] models&lt;br /&gt;
&lt;br /&gt;
===ThinkPad Edge E220s===&lt;br /&gt;
The only Edge product in this series so far is the [[:Category:E220s|E220s]]&lt;br /&gt;
&lt;br /&gt;
===ThinkPad Edge E4xx Series===&lt;br /&gt;
This series includes the [[:Category:E420|E420]], [[:Category:E420s|E420s]], [[:Category:E425|E425]], [[:Category:E430|E430]], [[:Category:E430c|E430c]] models&lt;br /&gt;
&lt;br /&gt;
===ThinkPad Edge E5xx Series===&lt;br /&gt;
This series includes the [[:Category:E520|E520]], [[:Category:E525|E525]], [[:Category:E530|E530]], [[:Category:E530c|E530c]], and [[:Category:E325|E325]] models&lt;br /&gt;
&lt;br /&gt;
===ThinkPad Edge Twist===&lt;br /&gt;
The [[:Category:Edge_Twist|Edge Twist]] is a bit of an odd member, as it is the only &amp;quot;convertible&amp;quot; one of the [[:Category:Edge|Edge]] series, and it's model name (S230u) does not begin with the usual &amp;quot;'''E'''&amp;quot;.  It's also the only one with a Multitouch capable display, nicely protected with &amp;quot;Gorilla Glass&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Withdrawn Series=&lt;br /&gt;
==ThinkPad 200 series==&lt;br /&gt;
The 200 series ([[:Category:220|220]], [[:Category:230|230]], [[:Category:235|235]], [[:Category:240|240]] and their various sub series) was a subnotebook series. This means they were extremely small and light crossovers between notebooks and PDAs. The series ended with the [[:Category:240X|240X]]. With the changing from the numeric to the alphanumeric naming scheme in 2000, IBM stopped developing subnotebook class ThinkPads. Only in the Asia-Pacific only [[#ThinkPad S series|S series]] did in find a rather short revival.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad 300 series==&lt;br /&gt;
The 300 series ([[:Category:300|300]], [[:Category:310|310]], [[:Category:350|350]], [[:Category:360|360]], [[:Category:365E|365E]], [[:Category:380|380]], [[:Category:385ED|385ED]], [[:Category:390|390]] and their various sub series) was a long running value series starting at the [[Intel 386|Intel 386SL-33]] going all the way to the [[Intel Mobile Pentium III]].  The ThinkPad 300 was also produced for IBM by Zenith Data Systems.  They were a bit large and slower than the more full featured models but offered a less expensive ThinkPad. The successor of this series is the [[#ThinkPad R series|R series]].&lt;br /&gt;
&lt;br /&gt;
==ThinkPad 500 series==&lt;br /&gt;
The 500 series ([[:Category:500|500]], [[:Category:510Cs|510Cs]], [[:Category:560|560]], [[:Category:570|570]] and their various sub series) were the main line of the ultraportable ThinkPads.  Starting with the [[IBM 486|IBM 486BL-25 Blue Lightening]] to the [[Intel Mobile Pentium III]], these machines had only a hard disk onboard.  Any other drives were either external or available in the respective [[Docking Solutions]]. The successor of the 500 series is the [[#ThinkPad X series|X series]].&lt;br /&gt;
&lt;br /&gt;
==ThinkPad 600 series==&lt;br /&gt;
The 600 series ([[:Category:600|600]], [[:Category:600D|600D]], [[:Category:600E|600E]] and [[:Category:600X|600X]]) are the direct predecessors of the [[#ThinkPad T series|T series]], and are legendary for their portability and sturdy construction. Most 600 series models packed a 13.3 inch LCD, [[Intel Mobile Pentium II]] or [[Intel Mobile Pentium III]] processor and full sized keyboard into a package weighing roughly 2.3 kg (5 lb). The [[UltraBay|UltraSlimBay]] was introduced with the 600 series. IBM was able to create this light, fully featured machine by using lightweight but strong carbon fibre composite plastics.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad 700 series==&lt;br /&gt;
The 700 series ([[:Category:700|700]], [[:Category:701C|701C]], [[:Category:730T|730T]], [[:Category:750|750]], [[:Category:755C|755C]], [[:Category:760E|760E]], [[:Category:765D|765D]], [[:Category:770|770]] and their various sub series) were the cutting edge Intel-based ThinkPads.  They featured the best screens, largest hard drives and fastest processors available at the time.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad 800 series==&lt;br /&gt;
The PowerPC ThinkPad series, (800, [[:Category:820|820]], 821, 822, 823, [[:Category:850|850]], 851, [[:Category:860|860]]) were unique in that they ran on the PowerPC architecture, and not the x86 architecture.  They all used the [[IBM PowerPC 603|IBM PowerPC 603e]] CPU.  The 800 may have used a 603, and it is unclear if the 800 was experimental or not.  All units used SCSI 2 instead of IDE.  The units are believed to have all been extremely expensive, as the [[:Category:850|850]] cost upwards of $12,000 USD.  The 800 series can run Windows NT 3.5 (probably 4.0 as well), OS/2, AIX 4.14, Solaris Desktop 2.5.1 PowerPC Edition and Linux.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad Transnote==&lt;br /&gt;
The IBM [[:Category:TransNote|TransNote]] was a pen based PC in a notebook.  Data could not only be entered through keyboard, TrackPoint and TouchScreen, but also through a unique paper notepad with integrated digitizer which was produced in cooperation with Cross AT.  This ThinkPad expanded on IBM's previous pen based notebooks ([[:Category:360P|360P]](E), [[:Category:730T|730T]](E), and 755(P).&lt;br /&gt;
&lt;br /&gt;
==ThinkPad A series==&lt;br /&gt;
The A series was developed as an allround productivity machine, equipped with hardware powerful enough to make it a desktop replacement. Hence it was the biggest and heaviest ThinkPad series at its time, but also had features not even found in a [[#ThinkPad T series|T series]] of the same age. The A series was dropped in favour of the [[#ThinkPad G series|G series]] and [[#ThinkPad R series|R series]].&lt;br /&gt;
&lt;br /&gt;
==ThinkPad G series==&lt;br /&gt;
The G series consists of only two models so far, the [[:Category:G40|G40]] and [[:Category:G41|G41]]. Being large and heavy machines, equipped with powerful desktop processors, this line of ThinkPads is consequently specialised in serving as a desktop replacement.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad i series==&lt;br /&gt;
The i Series introduced the [[ThinkLight]] and were also the first notebooks equipped with Wireless LAN. Some types from the i Series allow playing music CDs without turning on the computer.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad S series==&lt;br /&gt;
A subnotebook series consisting of only two models: the [[:Category:S30|S30]] and [[:Category:S31|S31]].&lt;br /&gt;
[[Category:Models]]&lt;br /&gt;
&lt;br /&gt;
==ThinkPad Z series==&lt;br /&gt;
The widescreen ThinkPad build to offer the ultimate multimedia experience. Internal similar to the [[#ThinkPad T series|T series]], but they have a widescreen and are available with a Titanium Special Edition Cover on selected models. This was the first ThinkPad series completely developed by Lenovo. This series was discontinued as the [[#ThinkPad T series|T series]] are available with widescreen displays.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad Z60x Series===&lt;br /&gt;
The first widescreen ThinkPads, internal similar to the T4x series, but they are available with 14&amp;quot; ([[:Category:Z60t|Z60t]]) or 15.4&amp;quot; ([[:Category:Z60m|Z60m]]) widescreens (some with optional MaxBright-technology). Travel weight starting at 4.1 lb and they are less than 1.1&amp;quot; thin. They are the first ThinkPads completely developed by Lenovo.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad Z61x Series===&lt;br /&gt;
Second generation Z series, upgraded to the internal technology level of the T60 series ThinkPads.&lt;br /&gt;
&lt;br /&gt;
=Adding a new series=&lt;br /&gt;
&lt;br /&gt;
Please refer to [[Adding a new ThinkPad series or category to ThinkWiki]] for instructions on how to add a new ThinkPad series to ThinkWiki.&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_12.10_on_Thinkpad_Twist&amp;diff=54373</id>
		<title>Installing Ubuntu 12.10 on Thinkpad Twist</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_12.10_on_Thinkpad_Twist&amp;diff=54373"/>
		<updated>2013-01-29T02:30:15Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Key Bindings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installing Ubuntu 12.10 on the Lenovo Twist ultrabook&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
===Specs===&lt;br /&gt;
*Lenovo Twist - S230u (model 3347-CTO)&lt;br /&gt;
*Ubuntu 12.10 - 64bit (ubuntu-12.10-desktop-amd64.iso) &lt;br /&gt;
&lt;br /&gt;
{{Todo|DMESG etc to follow}}&lt;br /&gt;
&lt;br /&gt;
===What Works===&lt;br /&gt;
*Touch screen - single touch only {{Fixme|Needs review.  Multitouch worked for me --[[User:Shane|Shane]] 03:20, 29 January 2013 (CET)}}&lt;br /&gt;
*Sound, WLAN, camera, SSD works&lt;br /&gt;
*WWAN works&lt;br /&gt;
&lt;br /&gt;
===What Does Not Work===&lt;br /&gt;
*GPS does not work&lt;br /&gt;
&lt;br /&gt;
==Install==&lt;br /&gt;
{{WARN|Since this device ships with the BIOS set to boot from '''UEFI only'''.  You must enable '''Legacy''' boot option in the BIOS before you can begin installing Ubuntu.}}&lt;br /&gt;
# Enable Legacy boot in BIOS&lt;br /&gt;
# Plug in USB drive containing Ubuntu 12.10 install image&lt;br /&gt;
# Turn power on&lt;br /&gt;
# Proceed through install&lt;br /&gt;
# Reboot when done&lt;br /&gt;
# Log in and install any available updates (rebooting as needed)&lt;br /&gt;
&lt;br /&gt;
==Customize==&lt;br /&gt;
&lt;br /&gt;
===Additional Packages===&lt;br /&gt;
Much of what follows depends on some additional tools.  You can run the following command to install them all at once:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install \&lt;br /&gt;
 mesa-utils               # resolves &amp;quot;Graphics Unknown&amp;quot; reported in system info \&lt;br /&gt;
 input-utils              # Misc tools to assist in detecting and configuring special HW keys/events&lt;br /&gt;
&lt;br /&gt;
===Graphics===&lt;br /&gt;
====Fix &amp;quot;unknown&amp;quot; graphics adapter====&lt;br /&gt;
Install mesa-utils, which adds glxinfo, used by system info to report the &amp;quot;friendly&amp;quot; graphics device name&lt;br /&gt;
{{cmduser|sudo apt-get install mesa-utils}}&lt;br /&gt;
====Enable SNA====&lt;br /&gt;
To enable SNA (vs. default UXA) in X, create an Xorg config option file (/usr/share/X11/xorg.conf.d/20-enable-sna.conf) as follows:&lt;br /&gt;
 # cat &amp;lt;&amp;lt;EOF &amp;gt; /usr/share/X11/xorg.conf.d/20-enable-sna.conf&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
     Identifier &amp;quot;Card0&amp;quot;&lt;br /&gt;
     Driver &amp;quot;intel&amp;quot;&lt;br /&gt;
     Option &amp;quot;AccelMethod&amp;quot; &amp;quot;sna&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 EOF&lt;br /&gt;
===Key Bindings===&lt;br /&gt;
{{HINT|Lenovo's intended behavior for the Function keys in Windows 8 is defined in the their [http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/s230u_twist_ug_en.pdf Lenovo Twist User Manual])}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Button!!Purpose!!HKEY!!Scan Code!!Key Code!!Key Sym!!Bind To!!Works Out of Box||Works with Tweaking&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F1}}||&amp;quot;Mute&amp;quot; key (toggle speaker muting)||{{Cunk}}||{{Cunk}}||113||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F2}}||&amp;quot;Volume Down&amp;quot; key||{{Cunk}}||{{Cunk}}||114||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F3}}||&amp;quot;Volume Up&amp;quot; key||{{Cunk}}||{{Cunk}}||115||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F4}}||&amp;quot;Mic&amp;quot; key (toggle mic muting)||00000080 0000101b||0x1A||micmute||{{Cunk}}||/etc/acpi/event/lenovo-micmute&amp;lt;br&amp;gt;calls amixer to toggle Capture device||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F5}}||&amp;quot;Brightness Down&amp;quot; key||{{Cunk}}||{{Cunk}}||224||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F6}}||&amp;quot;Brightness Up&amp;quot; key||{{Cunk}}||{{Cunk}}||225||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F7}}||&amp;quot;Display&amp;quot; key (toggle display output selection)||{{Cunk}}||0x06||227||switchvideomode|| ||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F8}}||&amp;quot;Radio&amp;quot; key (toggle Airplane mode)||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F9}}||&amp;quot;Settings&amp;quot; key (launch settings charm/app)||00000080 0000101d||0x1C||{{Cunk}}||{{Cunk}}||gnome-control-center||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F10}}||&amp;quot;Search&amp;quot; key (launch search charm/app)||00000080 0000101e||0x1D||{{Cunk}}||{{Cunk}}||Meta-f (Unity file search)||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F11}}||&amp;quot;Task Manager&amp;quot; key (show opened programs)||00000080 0000101f||0x1E||{{Cunk}}||{{Cunk}}||Alt-Tab (task switcher)||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F12}}||&amp;quot;All Apps&amp;quot; key (show picker for all installed programs)||00000080 00001020||0x1F||{{Cunk}}||{{Cunk}}||Meta||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|Lid flipped||Enable tablet mode||00000080 000060c0&amp;lt;br&amp;gt;00000080 00005009||{{Cunk}}||''reserved''||{{Cunk}}||Launch on-screen keyboard?&amp;lt;br&amp;gt;Disable TouchPad/Enable TouchScreen||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|Lid normal||Disable tablet mode||00000080 000060c0&amp;lt;br&amp;gt;00000080 0000500a||{{Cunk}}||''reserved''||{{Cunk}}||Hide on-screen-keyboard?&amp;lt;br&amp;gt;Enable TouchPad/Disable TouchScreen||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|Rotate}}||Toggle screen rotation||00000080 00006020||{{Cunk}}||{{Cunk}}||{{Cunk}}||/etc/acpi/event/lenovo-twist-rotate&amp;lt;br&amp;gt;calls notify-send ATM, since xrandr is crashing X :/||{{Cno}}||{{Fixme|X crashing}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Toggling TouchPad===&lt;br /&gt;
One of the very annoying things about the available settings in 12.10 is that there no longer appears to be a way to completely disable the Synaptics TouchPad device from the UI.  Also, no touchpad indicator applet appears to be available in the standard repos.&lt;br /&gt;
&lt;br /&gt;
Related to this, is the very poor interaction between the TouchPad and the TouchScreen (Atmel maXTouch Digitizer) when the screen is folded into tablet mode.  The result is the cursor begins to jump around and get &amp;quot;twitchy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
So, to solve this, there are two things to address:&lt;br /&gt;
# How to disable/enable the TouchPad on demand (hotkey event or other keybinding)&lt;br /&gt;
# How to disable/enable the TouchPad automatically when tablet mode is enabled/disabled&lt;br /&gt;
====On Demand====&lt;br /&gt;
To add new, custom, key bindings, launch the &amp;quot;'''Keyboard'''&amp;quot; editor:&lt;br /&gt;
&lt;br /&gt;
{{cmduser|gnome-control-center keyboard}}&lt;br /&gt;
&lt;br /&gt;
Then navigate to the &amp;quot;'''Shortcuts'''&amp;quot; tab, select the &amp;quot;'''Custom Shortcuts'''&amp;quot; and then click the &amp;quot;'''+'''&amp;quot; button and provide the name and command for your binding.  For example:&lt;br /&gt;
&lt;br /&gt;
[[Image:Add-custom-keybinding.png]]&lt;br /&gt;
&lt;br /&gt;
In this example, I tell it to invoke the script &amp;lt;tt&amp;gt;~/toggle-touchpad.sh&amp;lt;/tt&amp;gt;, which you can create like this:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; ~/toggle-touchpad.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 declare -A TOGGLE=([true]=false [false]=true)&lt;br /&gt;
 SCHEMA=&amp;quot;org.gnome.settings-daemon.peripherals.touchpad&amp;quot;&lt;br /&gt;
 KEY=&amp;quot;touchpad-enabled&amp;quot;&lt;br /&gt;
 gsettings set $SCHEMA $KEY ${TOGGLE[$(gsettings get $SCHEMA $KEY)]}&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Or, use this one-line version directly in the &amp;quot;Command:&amp;quot; field:&lt;br /&gt;
&lt;br /&gt;
 /bin/bash -c 'declare -A TOGGLE=([true]=false [false]=true) &amp;amp;&amp;amp; \&lt;br /&gt;
     SCHEMA=&amp;quot;org.gnome.settings-daemon.peripherals.touchpad&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
     KEY=&amp;quot;touchpad-enabled&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
     gsettings set $SCHEMA $KEY ${TOGGLE[$(gsettings get $SCHEMA $KEY)]}' &lt;br /&gt;
&lt;br /&gt;
Finally, click the word &amp;quot;'''disabled'''&amp;quot; on the newly added custom shortcut and hit the button or key combination you want to use for toggling the TouchPads enabled state.&lt;br /&gt;
&lt;br /&gt;
====Automatic====&lt;br /&gt;
To solve the &amp;quot;jitter&amp;quot; problem with the mouse when the Twist is in tablet mode, a few additions to the acpi events handlers is all that's required.  The following need to be run as root, or via sudo.&lt;br /&gt;
&lt;br /&gt;
First, we need to configure acpid to recognize the events triggered when the Twist changes tablet mode state:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/events/twist-tablet-enabled&lt;br /&gt;
 # /etc/acpi/events/twist-tablet-enabled&lt;br /&gt;
 # This is called when the lid is placed in tablet position on&lt;br /&gt;
 # Lenovo Twist ThinkPads&lt;br /&gt;
 &lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 00005009&lt;br /&gt;
 action=/etc/acpi/twist-tabletmode.sh 1&lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/events/twist-tablet-disabled&lt;br /&gt;
 # /etc/acpi/events/twist-tablet-disabled&lt;br /&gt;
 # This is called when the lid is placed in normal position on&lt;br /&gt;
 # Lenovo Twist ThinkPads&lt;br /&gt;
 &lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 0000500a&lt;br /&gt;
 action=/etc/acpi/twist-tabletmode.sh 0&lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 # Now, restart acpid so it can re-read the event filters, including the ones you just added&lt;br /&gt;
 killall -SIGHUP acpid&lt;br /&gt;
&lt;br /&gt;
Second, create the referenced action script (&amp;lt;tt&amp;gt;/etc/acpi/twist-tabletmode.sh&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/twist-tabletmode.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 [ -f /usr/share/acpi-support/state-funcs ] || exit 0 &lt;br /&gt;
 &lt;br /&gt;
 . /usr/share/acpi-support/power-funcs&lt;br /&gt;
 &lt;br /&gt;
 getXconsole&lt;br /&gt;
 &lt;br /&gt;
 # If passed in a (valid) arg, use it&lt;br /&gt;
 [ &amp;quot;$1&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$1&amp;quot; = &amp;quot;0&amp;quot; -o &amp;quot;$1&amp;quot; = &amp;quot;1&amp;quot; ] &amp;amp;&amp;amp; MODE=${MODE:=${1}}&lt;br /&gt;
 &lt;br /&gt;
 # Otherwise, use current state from thinkpad acpi sysfs entry, as described at&lt;br /&gt;
 # http://www.kernel.org/doc/Documentation/laptops/thinkpad-acpi.txt&lt;br /&gt;
 MODE=${MODE:=&amp;quot;$(cat /sys/devices/platform/thinkpad_acpi/hotkey_tablet_mode)&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 TOUCHPAD_NAME=&amp;quot;TouchPad&amp;quot;&lt;br /&gt;
 TOUCHPAD_STATES=(&amp;quot;enable&amp;quot; &amp;quot;disable&amp;quot;)&lt;br /&gt;
 TOUCHPAD_CMD=${TOUCHPAD_STATES[$MODE]}&lt;br /&gt;
 &lt;br /&gt;
 TOUCHSCREEN_NAME=&amp;quot;maXTouch&amp;quot;&lt;br /&gt;
 TOUCHSCREEN_STATES=(&amp;quot;disable&amp;quot; &amp;quot;enable&amp;quot;)&lt;br /&gt;
 TOUCHSCREEN_CMD=${TOUCHSCREEN_STATES[$MODE]}&lt;br /&gt;
 &lt;br /&gt;
 # Get xinput ids for the TouchPad and TouchScreen devices&lt;br /&gt;
 TOUCHPAD_ID=$(xinput list --id-only &amp;quot;$(xinput list --name-only|grep -m1 $TOUCHPAD_NAME)&amp;quot;)&lt;br /&gt;
 TOUCHSCREEN_ID=$(xinput list --id-only &amp;quot;$(xinput list --name-only|grep -m1 $TOUCHSCREEN_NAME)&amp;quot;)&lt;br /&gt;
  &lt;br /&gt;
 # Get users configured TouchPad state preference and honor it.&lt;br /&gt;
 TOUCHPAD_ENABLED=$(sudo -iu $user gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled)&lt;br /&gt;
  &lt;br /&gt;
 # Only change TouchPad state if touchpad-enabled=true and a device was found&lt;br /&gt;
 [ ${#TOUCHPAD_ID} -gt 0 -a &amp;quot;$TOUCHPAD_ENABLED&amp;quot; = &amp;quot;true&amp;quot; ] &amp;amp;&amp;amp; xinput $TOUCHPAD_CMD $TOUCHPAD_ID&lt;br /&gt;
  &lt;br /&gt;
 # Only change TouchScreen state if a device was found&lt;br /&gt;
 [ ${#TOUCHSCREEN_ID} -gt 0 ] &amp;amp;&amp;amp; xinput $TOUCHSCREEN_CMD $TOUCHSCREEN_ID&lt;br /&gt;
   &lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 # Make it executable...&lt;br /&gt;
 chmod +x /etc/acpi/twist-tabletmode.sh&lt;br /&gt;
&lt;br /&gt;
That's it!!!  Time to test it out by converting the Twist into tablet mode.  You can crack the lid about 1&amp;amp;frac12; inches before the Twist will exit tablet mode.  While in tablet mode, crack the lid and confirm that touching the TouchPad has no effect.&lt;br /&gt;
&lt;br /&gt;
====More Detail====&lt;br /&gt;
Initially, I pursued this as an XInput issue, only to discover later after digging through this to solve the automatice use case during tablet mode changes, that there is a GSettings key that also is at play here.  As I soon discovered, the GSettings key will actually determine if any changes vi xinput will be honored.&lt;br /&gt;
&lt;br /&gt;
=====XInput Method=====&lt;br /&gt;
First, determine the xinput device id for the TouchPad&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput list --name-only|grep -im1 TouchPad}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|SynPS/2 Synaptics TouchPad}}&lt;br /&gt;
&lt;br /&gt;
Next, using this name, get the xinput device id for it&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput list --id-only &amp;quot;SynPS/2 Synaptics TouchPad&amp;quot;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|12}}&lt;br /&gt;
&lt;br /&gt;
Now, to disable and then enable it, simply run&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput disable 12}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmduser|xinput enable 12}}&lt;br /&gt;
&lt;br /&gt;
=====GSettings Method=====&lt;br /&gt;
There is a GSettings key in the &amp;lt;tt&amp;gt;org.gnome.settings-daemon.peripherals.touchpad&amp;lt;/tt&amp;gt; schema called &amp;lt;tt&amp;gt;touchpad-enabled&amp;lt;/tt&amp;gt;.  To get and set this key, you use the &amp;lt;tt&amp;gt;gsettings&amp;lt;/tt&amp;gt; command from a terminal that is associated with your active user session:&lt;br /&gt;
&lt;br /&gt;
Get the current value of touchpad-enabled&lt;br /&gt;
&lt;br /&gt;
{{cmduser|gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|true}}&lt;br /&gt;
&lt;br /&gt;
To disable the TouchPad, set touchpad-enabled to false&lt;br /&gt;
&lt;br /&gt;
{{cmduser|gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false}}&lt;br /&gt;
&lt;br /&gt;
Now check the value of touchpad-enabled, should be false...&lt;br /&gt;
&lt;br /&gt;
{{cmduser|gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|false}}&lt;br /&gt;
&lt;br /&gt;
===Think Light Control===&lt;br /&gt;
You can control red the LED in the &amp;quot;i&amp;quot; of the &amp;quot;ThinkPad&amp;quot; logo as follows&lt;br /&gt;
&lt;br /&gt;
Turn on the LED...&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 on &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
 &lt;br /&gt;
Turn off the LED...&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 off &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
Blink the LED&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 blink &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
===Headphone Plug Events===&lt;br /&gt;
On the Twist, when I was testing this, /dev/input/event12 was where Headphone jack plug and unplug events were being reported&lt;br /&gt;
&lt;br /&gt;
Install the input-utils package and then run:&lt;br /&gt;
&lt;br /&gt;
 # input-events 12&lt;br /&gt;
 /dev/input/event12&lt;br /&gt;
    bustype : (null)&lt;br /&gt;
    vendor  : 0x0&lt;br /&gt;
    product : 0x0&lt;br /&gt;
    version : 0&lt;br /&gt;
    name    : &amp;quot;HDA Intel PCH Headphone&amp;quot;&lt;br /&gt;
    phys    : &amp;quot;ALSA&amp;quot;&lt;br /&gt;
    bits ev : EV_SYN EV_SW&lt;br /&gt;
 &lt;br /&gt;
 waiting for events&lt;br /&gt;
 11:54:14.257360: EV_SW SW_HEADPHONE_INSERT 1&lt;br /&gt;
 11:54:14.257361: EV_SYN code=0 value=0&lt;br /&gt;
 11:54:14.587882: EV_SW SW_HEADPHONE_INSERT 0&lt;br /&gt;
 11:54:14.587883: EV_SYN code=0 value=0&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
&amp;lt;tt&amp;gt;'''SW_HEADPHONE_INSERT''' 1&amp;lt;/tt&amp;gt; represents the &amp;quot;'''plug'''&amp;quot; event&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;'''SW_HEADPHONE_INSERT''' 0&amp;lt;/tt&amp;gt; represents the &amp;quot;'''unplug'''&amp;quot; event&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Input Mapping===&lt;br /&gt;
The following table is derived from the output of the {{cmdroot|lsinput}} command (part of the input-utils package)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!/dev path!!name!!phys!!ev flags&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event0||Power Button||PNP0C0C/button/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event1||Lid Switch||PNP0C0D/button/input0||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event2||Power Button||LNXPWRBN/button/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event3||AT Translated Set 2 keyboard||isa0060/serio0/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_MSC EV_LED&amp;lt;br&amp;gt;EV_REP&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event4||ThinkPad Extra Buttons||thinkpad_acpi/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_MSC EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event5||Atmel Atmel maXTouch Digitizer||usb-0000:00:1a.0-1.1/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_ABS&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event6||Integrated Camera||usb-0000:00:1d.0-1.6/button||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event7||Video Bus||LNXVIDEO/video/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event8||SynPS/2 Synaptics TouchPad||isa0060/serio1/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_ABS&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event9||HDA Intel PCH HDMI/DP,pcm=7||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event10||HDA Intel PCH HDMI/DP,pcm=3||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event11||HDA Intel PCH Mic||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event12||HDA Intel PCH Headphone||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event13||TPPS/2 IBM TrackPoint||synaptics-pt/serio0/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_REL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Edge Twist]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_12.10_on_Thinkpad_Twist&amp;diff=54372</id>
		<title>Installing Ubuntu 12.10 on Thinkpad Twist</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_12.10_on_Thinkpad_Twist&amp;diff=54372"/>
		<updated>2013-01-29T02:28:31Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* GSettings Method */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installing Ubuntu 12.10 on the Lenovo Twist ultrabook&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
===Specs===&lt;br /&gt;
*Lenovo Twist - S230u (model 3347-CTO)&lt;br /&gt;
*Ubuntu 12.10 - 64bit (ubuntu-12.10-desktop-amd64.iso) &lt;br /&gt;
&lt;br /&gt;
{{Todo|DMESG etc to follow}}&lt;br /&gt;
&lt;br /&gt;
===What Works===&lt;br /&gt;
*Touch screen - single touch only {{Fixme|Needs review.  Multitouch worked for me --[[User:Shane|Shane]] 03:20, 29 January 2013 (CET)}}&lt;br /&gt;
*Sound, WLAN, camera, SSD works&lt;br /&gt;
*WWAN works&lt;br /&gt;
&lt;br /&gt;
===What Does Not Work===&lt;br /&gt;
*GPS does not work&lt;br /&gt;
&lt;br /&gt;
==Install==&lt;br /&gt;
{{WARN|Since this device ships with the BIOS set to boot from '''UEFI only'''.  You must enable '''Legacy''' boot option in the BIOS before you can begin installing Ubuntu.}}&lt;br /&gt;
# Enable Legacy boot in BIOS&lt;br /&gt;
# Plug in USB drive containing Ubuntu 12.10 install image&lt;br /&gt;
# Turn power on&lt;br /&gt;
# Proceed through install&lt;br /&gt;
# Reboot when done&lt;br /&gt;
# Log in and install any available updates (rebooting as needed)&lt;br /&gt;
&lt;br /&gt;
==Customize==&lt;br /&gt;
&lt;br /&gt;
===Additional Packages===&lt;br /&gt;
Much of what follows depends on some additional tools.  You can run the following command to install them all at once:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install \&lt;br /&gt;
 mesa-utils               # resolves &amp;quot;Graphics Unknown&amp;quot; reported in system info \&lt;br /&gt;
 input-utils              # Misc tools to assist in detecting and configuring special HW keys/events&lt;br /&gt;
&lt;br /&gt;
===Graphics===&lt;br /&gt;
====Fix &amp;quot;unknown&amp;quot; graphics adapter====&lt;br /&gt;
Install mesa-utils, which adds glxinfo, used by system info to report the &amp;quot;friendly&amp;quot; graphics device name&lt;br /&gt;
{{cmduser|sudo apt-get install mesa-utils}}&lt;br /&gt;
====Enable SNA====&lt;br /&gt;
To enable SNA (vs. default UXA) in X, create an Xorg config option file (/usr/share/X11/xorg.conf.d/20-enable-sna.conf) as follows:&lt;br /&gt;
 # cat &amp;lt;&amp;lt;EOF &amp;gt; /usr/share/X11/xorg.conf.d/20-enable-sna.conf&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
     Identifier &amp;quot;Card0&amp;quot;&lt;br /&gt;
     Driver &amp;quot;intel&amp;quot;&lt;br /&gt;
     Option &amp;quot;AccelMethod&amp;quot; &amp;quot;sna&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 EOF&lt;br /&gt;
===Key Bindings===&lt;br /&gt;
{{HINT|Lenovo's intended behavior for the Function keys in Windows 8 is defined in the their [http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/s230u_twist_ug_en.pdf Lenovo Twist User Manual])}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Button!!Purpose!!HKEY!!Scan Code!!Key Code!!Key Sym!!Bind To!!Works Out of Box||Works with Tweaking&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F1}}||&amp;quot;Mute&amp;quot; key (toggle speaker muting)||{{Cunk}}||{{Cunk}}||113||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F2}}||&amp;quot;Volume Down&amp;quot; key||{{Cunk}}||{{Cunk}}||114||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F3}}||&amp;quot;Volume Up&amp;quot; key||{{Cunk}}||{{Cunk}}||115||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F4}}||&amp;quot;Mic&amp;quot; key (toggle mic muting)||00000080 0000101b||0x1A||micmute||{{Cunk}}||/etc/acpi/event/lenovo-micmute&amp;lt;br&amp;gt;calls amixer to toggle Capture device||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F5}}||&amp;quot;Brightness Down&amp;quot; key||{{Cunk}}||{{Cunk}}||224||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F6}}||&amp;quot;Brightness Up&amp;quot; key||{{Cunk}}||{{Cunk}}||225||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F7}}||&amp;quot;Display&amp;quot; key (toggle display output selection)||{{Cunk}}||0x06||227||switchvideomode|| ||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F8}}||&amp;quot;Radio&amp;quot; key (toggle Airplane mode)||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F9}}||&amp;quot;Settings&amp;quot; key (launch settings charm/app)||00000080 0000101d||0x1C||{{Cunk}}||{{Cunk}}||gnome-control-center||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F10}}||&amp;quot;Search&amp;quot; key (launch search charm/app)||00000080 0000101e||0x1D||{{Cunk}}||{{Cunk}}||Meta-f (Unity file search)||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F11}}||&amp;quot;Task Manager&amp;quot; key (show opened programs)||00000080 0000101f||0x1E||{{Cunk}}||{{Cunk}}||Alt-Tab (task switcher)||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F12}}||&amp;quot;All Apps&amp;quot; key (show picker for all installed programs)||00000080 00001020||0x1F||{{Cunk}}||{{Cunk}}||Meta||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|Lid flipped||Enable tablet mode||00000080 000060c0&amp;lt;br&amp;gt;00000080 00005009||{{Cunk}}||''reserved''||{{Cunk}}||Launch on-screen keyboard||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|Lid normal||Disable tablet mode||00000080 000060c0&amp;lt;br&amp;gt;00000080 0000500a||{{Cunk}}||''reserved''||{{Cunk}}||Hide on-screen-keyboard||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|Rotate}}||Toggle screen rotation||00000080 00006020||{{Cunk}}||{{Cunk}}||{{Cunk}}||/etc/acpi/event/lenovo-twist-rotate&amp;lt;br&amp;gt;calls notify-send ATM, since xrandr is crashing X :/||{{Cno}}||{{Fixme|X crashing}}&lt;br /&gt;
|}&lt;br /&gt;
===Toggling TouchPad===&lt;br /&gt;
One of the very annoying things about the available settings in 12.10 is that there no longer appears to be a way to completely disable the Synaptics TouchPad device from the UI.  Also, no touchpad indicator applet appears to be available in the standard repos.&lt;br /&gt;
&lt;br /&gt;
Related to this, is the very poor interaction between the TouchPad and the TouchScreen (Atmel maXTouch Digitizer) when the screen is folded into tablet mode.  The result is the cursor begins to jump around and get &amp;quot;twitchy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
So, to solve this, there are two things to address:&lt;br /&gt;
# How to disable/enable the TouchPad on demand (hotkey event or other keybinding)&lt;br /&gt;
# How to disable/enable the TouchPad automatically when tablet mode is enabled/disabled&lt;br /&gt;
====On Demand====&lt;br /&gt;
To add new, custom, key bindings, launch the &amp;quot;'''Keyboard'''&amp;quot; editor:&lt;br /&gt;
&lt;br /&gt;
{{cmduser|gnome-control-center keyboard}}&lt;br /&gt;
&lt;br /&gt;
Then navigate to the &amp;quot;'''Shortcuts'''&amp;quot; tab, select the &amp;quot;'''Custom Shortcuts'''&amp;quot; and then click the &amp;quot;'''+'''&amp;quot; button and provide the name and command for your binding.  For example:&lt;br /&gt;
&lt;br /&gt;
[[Image:Add-custom-keybinding.png]]&lt;br /&gt;
&lt;br /&gt;
In this example, I tell it to invoke the script &amp;lt;tt&amp;gt;~/toggle-touchpad.sh&amp;lt;/tt&amp;gt;, which you can create like this:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; ~/toggle-touchpad.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 declare -A TOGGLE=([true]=false [false]=true)&lt;br /&gt;
 SCHEMA=&amp;quot;org.gnome.settings-daemon.peripherals.touchpad&amp;quot;&lt;br /&gt;
 KEY=&amp;quot;touchpad-enabled&amp;quot;&lt;br /&gt;
 gsettings set $SCHEMA $KEY ${TOGGLE[$(gsettings get $SCHEMA $KEY)]}&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Or, use this one-line version directly in the &amp;quot;Command:&amp;quot; field:&lt;br /&gt;
&lt;br /&gt;
 /bin/bash -c 'declare -A TOGGLE=([true]=false [false]=true) &amp;amp;&amp;amp; \&lt;br /&gt;
     SCHEMA=&amp;quot;org.gnome.settings-daemon.peripherals.touchpad&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
     KEY=&amp;quot;touchpad-enabled&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
     gsettings set $SCHEMA $KEY ${TOGGLE[$(gsettings get $SCHEMA $KEY)]}' &lt;br /&gt;
&lt;br /&gt;
Finally, click the word &amp;quot;'''disabled'''&amp;quot; on the newly added custom shortcut and hit the button or key combination you want to use for toggling the TouchPads enabled state.&lt;br /&gt;
&lt;br /&gt;
====Automatic====&lt;br /&gt;
To solve the &amp;quot;jitter&amp;quot; problem with the mouse when the Twist is in tablet mode, a few additions to the acpi events handlers is all that's required.  The following need to be run as root, or via sudo.&lt;br /&gt;
&lt;br /&gt;
First, we need to configure acpid to recognize the events triggered when the Twist changes tablet mode state:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/events/twist-tablet-enabled&lt;br /&gt;
 # /etc/acpi/events/twist-tablet-enabled&lt;br /&gt;
 # This is called when the lid is placed in tablet position on&lt;br /&gt;
 # Lenovo Twist ThinkPads&lt;br /&gt;
 &lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 00005009&lt;br /&gt;
 action=/etc/acpi/twist-tabletmode.sh 1&lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/events/twist-tablet-disabled&lt;br /&gt;
 # /etc/acpi/events/twist-tablet-disabled&lt;br /&gt;
 # This is called when the lid is placed in normal position on&lt;br /&gt;
 # Lenovo Twist ThinkPads&lt;br /&gt;
 &lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 0000500a&lt;br /&gt;
 action=/etc/acpi/twist-tabletmode.sh 0&lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 # Now, restart acpid so it can re-read the event filters, including the ones you just added&lt;br /&gt;
 killall -SIGHUP acpid&lt;br /&gt;
&lt;br /&gt;
Second, create the referenced action script (&amp;lt;tt&amp;gt;/etc/acpi/twist-tabletmode.sh&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/twist-tabletmode.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 [ -f /usr/share/acpi-support/state-funcs ] || exit 0 &lt;br /&gt;
 &lt;br /&gt;
 . /usr/share/acpi-support/power-funcs&lt;br /&gt;
 &lt;br /&gt;
 getXconsole&lt;br /&gt;
 &lt;br /&gt;
 # If passed in a (valid) arg, use it&lt;br /&gt;
 [ &amp;quot;$1&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$1&amp;quot; = &amp;quot;0&amp;quot; -o &amp;quot;$1&amp;quot; = &amp;quot;1&amp;quot; ] &amp;amp;&amp;amp; MODE=${MODE:=${1}}&lt;br /&gt;
 &lt;br /&gt;
 # Otherwise, use current state from thinkpad acpi sysfs entry, as described at&lt;br /&gt;
 # http://www.kernel.org/doc/Documentation/laptops/thinkpad-acpi.txt&lt;br /&gt;
 MODE=${MODE:=&amp;quot;$(cat /sys/devices/platform/thinkpad_acpi/hotkey_tablet_mode)&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 TOUCHPAD_NAME=&amp;quot;TouchPad&amp;quot;&lt;br /&gt;
 TOUCHPAD_STATES=(&amp;quot;enable&amp;quot; &amp;quot;disable&amp;quot;)&lt;br /&gt;
 TOUCHPAD_CMD=${TOUCHPAD_STATES[$MODE]}&lt;br /&gt;
 &lt;br /&gt;
 TOUCHSCREEN_NAME=&amp;quot;maXTouch&amp;quot;&lt;br /&gt;
 TOUCHSCREEN_STATES=(&amp;quot;disable&amp;quot; &amp;quot;enable&amp;quot;)&lt;br /&gt;
 TOUCHSCREEN_CMD=${TOUCHSCREEN_STATES[$MODE]}&lt;br /&gt;
 &lt;br /&gt;
 # Get xinput ids for the TouchPad and TouchScreen devices&lt;br /&gt;
 TOUCHPAD_ID=$(xinput list --id-only &amp;quot;$(xinput list --name-only|grep -m1 $TOUCHPAD_NAME)&amp;quot;)&lt;br /&gt;
 TOUCHSCREEN_ID=$(xinput list --id-only &amp;quot;$(xinput list --name-only|grep -m1 $TOUCHSCREEN_NAME)&amp;quot;)&lt;br /&gt;
  &lt;br /&gt;
 # Get users configured TouchPad state preference and honor it.&lt;br /&gt;
 TOUCHPAD_ENABLED=$(sudo -iu $user gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled)&lt;br /&gt;
  &lt;br /&gt;
 # Only change TouchPad state if touchpad-enabled=true and a device was found&lt;br /&gt;
 [ ${#TOUCHPAD_ID} -gt 0 -a &amp;quot;$TOUCHPAD_ENABLED&amp;quot; = &amp;quot;true&amp;quot; ] &amp;amp;&amp;amp; xinput $TOUCHPAD_CMD $TOUCHPAD_ID&lt;br /&gt;
  &lt;br /&gt;
 # Only change TouchScreen state if a device was found&lt;br /&gt;
 [ ${#TOUCHSCREEN_ID} -gt 0 ] &amp;amp;&amp;amp; xinput $TOUCHSCREEN_CMD $TOUCHSCREEN_ID&lt;br /&gt;
   &lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 # Make it executable...&lt;br /&gt;
 chmod +x /etc/acpi/twist-tabletmode.sh&lt;br /&gt;
&lt;br /&gt;
That's it!!!  Time to test it out by converting the Twist into tablet mode.  You can crack the lid about 1&amp;amp;frac12; inches before the Twist will exit tablet mode.  While in tablet mode, crack the lid and confirm that touching the TouchPad has no effect.&lt;br /&gt;
&lt;br /&gt;
====More Detail====&lt;br /&gt;
Initially, I pursued this as an XInput issue, only to discover later after digging through this to solve the automatice use case during tablet mode changes, that there is a GSettings key that also is at play here.  As I soon discovered, the GSettings key will actually determine if any changes vi xinput will be honored.&lt;br /&gt;
&lt;br /&gt;
=====XInput Method=====&lt;br /&gt;
First, determine the xinput device id for the TouchPad&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput list --name-only|grep -im1 TouchPad}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|SynPS/2 Synaptics TouchPad}}&lt;br /&gt;
&lt;br /&gt;
Next, using this name, get the xinput device id for it&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput list --id-only &amp;quot;SynPS/2 Synaptics TouchPad&amp;quot;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|12}}&lt;br /&gt;
&lt;br /&gt;
Now, to disable and then enable it, simply run&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput disable 12}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmduser|xinput enable 12}}&lt;br /&gt;
&lt;br /&gt;
=====GSettings Method=====&lt;br /&gt;
There is a GSettings key in the &amp;lt;tt&amp;gt;org.gnome.settings-daemon.peripherals.touchpad&amp;lt;/tt&amp;gt; schema called &amp;lt;tt&amp;gt;touchpad-enabled&amp;lt;/tt&amp;gt;.  To get and set this key, you use the &amp;lt;tt&amp;gt;gsettings&amp;lt;/tt&amp;gt; command from a terminal that is associated with your active user session:&lt;br /&gt;
&lt;br /&gt;
Get the current value of touchpad-enabled&lt;br /&gt;
&lt;br /&gt;
{{cmduser|gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|true}}&lt;br /&gt;
&lt;br /&gt;
To disable the TouchPad, set touchpad-enabled to false&lt;br /&gt;
&lt;br /&gt;
{{cmduser|gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false}}&lt;br /&gt;
&lt;br /&gt;
Now check the value of touchpad-enabled, should be false...&lt;br /&gt;
&lt;br /&gt;
{{cmduser|gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|false}}&lt;br /&gt;
&lt;br /&gt;
===Think Light Control===&lt;br /&gt;
You can control red the LED in the &amp;quot;i&amp;quot; of the &amp;quot;ThinkPad&amp;quot; logo as follows&lt;br /&gt;
&lt;br /&gt;
Turn on the LED...&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 on &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
 &lt;br /&gt;
Turn off the LED...&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 off &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
Blink the LED&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 blink &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
===Headphone Plug Events===&lt;br /&gt;
On the Twist, when I was testing this, /dev/input/event12 was where Headphone jack plug and unplug events were being reported&lt;br /&gt;
&lt;br /&gt;
Install the input-utils package and then run:&lt;br /&gt;
&lt;br /&gt;
 # input-events 12&lt;br /&gt;
 /dev/input/event12&lt;br /&gt;
    bustype : (null)&lt;br /&gt;
    vendor  : 0x0&lt;br /&gt;
    product : 0x0&lt;br /&gt;
    version : 0&lt;br /&gt;
    name    : &amp;quot;HDA Intel PCH Headphone&amp;quot;&lt;br /&gt;
    phys    : &amp;quot;ALSA&amp;quot;&lt;br /&gt;
    bits ev : EV_SYN EV_SW&lt;br /&gt;
 &lt;br /&gt;
 waiting for events&lt;br /&gt;
 11:54:14.257360: EV_SW SW_HEADPHONE_INSERT 1&lt;br /&gt;
 11:54:14.257361: EV_SYN code=0 value=0&lt;br /&gt;
 11:54:14.587882: EV_SW SW_HEADPHONE_INSERT 0&lt;br /&gt;
 11:54:14.587883: EV_SYN code=0 value=0&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
&amp;lt;tt&amp;gt;'''SW_HEADPHONE_INSERT''' 1&amp;lt;/tt&amp;gt; represents the &amp;quot;'''plug'''&amp;quot; event&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;'''SW_HEADPHONE_INSERT''' 0&amp;lt;/tt&amp;gt; represents the &amp;quot;'''unplug'''&amp;quot; event&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Input Mapping===&lt;br /&gt;
The following table is derived from the output of the {{cmdroot|lsinput}} command (part of the input-utils package)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!/dev path!!name!!phys!!ev flags&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event0||Power Button||PNP0C0C/button/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event1||Lid Switch||PNP0C0D/button/input0||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event2||Power Button||LNXPWRBN/button/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event3||AT Translated Set 2 keyboard||isa0060/serio0/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_MSC EV_LED&amp;lt;br&amp;gt;EV_REP&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event4||ThinkPad Extra Buttons||thinkpad_acpi/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_MSC EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event5||Atmel Atmel maXTouch Digitizer||usb-0000:00:1a.0-1.1/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_ABS&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event6||Integrated Camera||usb-0000:00:1d.0-1.6/button||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event7||Video Bus||LNXVIDEO/video/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event8||SynPS/2 Synaptics TouchPad||isa0060/serio1/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_ABS&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event9||HDA Intel PCH HDMI/DP,pcm=7||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event10||HDA Intel PCH HDMI/DP,pcm=3||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event11||HDA Intel PCH Mic||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event12||HDA Intel PCH Headphone||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event13||TPPS/2 IBM TrackPoint||synaptics-pt/serio0/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_REL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Edge Twist]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_12.10_on_Thinkpad_Twist&amp;diff=54371</id>
		<title>Installing Ubuntu 12.10 on Thinkpad Twist</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_12.10_on_Thinkpad_Twist&amp;diff=54371"/>
		<updated>2013-01-29T02:25:53Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* On Demand */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installing Ubuntu 12.10 on the Lenovo Twist ultrabook&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
===Specs===&lt;br /&gt;
*Lenovo Twist - S230u (model 3347-CTO)&lt;br /&gt;
*Ubuntu 12.10 - 64bit (ubuntu-12.10-desktop-amd64.iso) &lt;br /&gt;
&lt;br /&gt;
{{Todo|DMESG etc to follow}}&lt;br /&gt;
&lt;br /&gt;
===What Works===&lt;br /&gt;
*Touch screen - single touch only {{Fixme|Needs review.  Multitouch worked for me --[[User:Shane|Shane]] 03:20, 29 January 2013 (CET)}}&lt;br /&gt;
*Sound, WLAN, camera, SSD works&lt;br /&gt;
*WWAN works&lt;br /&gt;
&lt;br /&gt;
===What Does Not Work===&lt;br /&gt;
*GPS does not work&lt;br /&gt;
&lt;br /&gt;
==Install==&lt;br /&gt;
{{WARN|Since this device ships with the BIOS set to boot from '''UEFI only'''.  You must enable '''Legacy''' boot option in the BIOS before you can begin installing Ubuntu.}}&lt;br /&gt;
# Enable Legacy boot in BIOS&lt;br /&gt;
# Plug in USB drive containing Ubuntu 12.10 install image&lt;br /&gt;
# Turn power on&lt;br /&gt;
# Proceed through install&lt;br /&gt;
# Reboot when done&lt;br /&gt;
# Log in and install any available updates (rebooting as needed)&lt;br /&gt;
&lt;br /&gt;
==Customize==&lt;br /&gt;
&lt;br /&gt;
===Additional Packages===&lt;br /&gt;
Much of what follows depends on some additional tools.  You can run the following command to install them all at once:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install \&lt;br /&gt;
 mesa-utils               # resolves &amp;quot;Graphics Unknown&amp;quot; reported in system info \&lt;br /&gt;
 input-utils              # Misc tools to assist in detecting and configuring special HW keys/events&lt;br /&gt;
&lt;br /&gt;
===Graphics===&lt;br /&gt;
====Fix &amp;quot;unknown&amp;quot; graphics adapter====&lt;br /&gt;
Install mesa-utils, which adds glxinfo, used by system info to report the &amp;quot;friendly&amp;quot; graphics device name&lt;br /&gt;
{{cmduser|sudo apt-get install mesa-utils}}&lt;br /&gt;
====Enable SNA====&lt;br /&gt;
To enable SNA (vs. default UXA) in X, create an Xorg config option file (/usr/share/X11/xorg.conf.d/20-enable-sna.conf) as follows:&lt;br /&gt;
 # cat &amp;lt;&amp;lt;EOF &amp;gt; /usr/share/X11/xorg.conf.d/20-enable-sna.conf&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
     Identifier &amp;quot;Card0&amp;quot;&lt;br /&gt;
     Driver &amp;quot;intel&amp;quot;&lt;br /&gt;
     Option &amp;quot;AccelMethod&amp;quot; &amp;quot;sna&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 EOF&lt;br /&gt;
===Key Bindings===&lt;br /&gt;
{{HINT|Lenovo's intended behavior for the Function keys in Windows 8 is defined in the their [http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/s230u_twist_ug_en.pdf Lenovo Twist User Manual])}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Button!!Purpose!!HKEY!!Scan Code!!Key Code!!Key Sym!!Bind To!!Works Out of Box||Works with Tweaking&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F1}}||&amp;quot;Mute&amp;quot; key (toggle speaker muting)||{{Cunk}}||{{Cunk}}||113||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F2}}||&amp;quot;Volume Down&amp;quot; key||{{Cunk}}||{{Cunk}}||114||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F3}}||&amp;quot;Volume Up&amp;quot; key||{{Cunk}}||{{Cunk}}||115||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F4}}||&amp;quot;Mic&amp;quot; key (toggle mic muting)||00000080 0000101b||0x1A||micmute||{{Cunk}}||/etc/acpi/event/lenovo-micmute&amp;lt;br&amp;gt;calls amixer to toggle Capture device||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F5}}||&amp;quot;Brightness Down&amp;quot; key||{{Cunk}}||{{Cunk}}||224||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F6}}||&amp;quot;Brightness Up&amp;quot; key||{{Cunk}}||{{Cunk}}||225||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F7}}||&amp;quot;Display&amp;quot; key (toggle display output selection)||{{Cunk}}||0x06||227||switchvideomode|| ||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F8}}||&amp;quot;Radio&amp;quot; key (toggle Airplane mode)||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F9}}||&amp;quot;Settings&amp;quot; key (launch settings charm/app)||00000080 0000101d||0x1C||{{Cunk}}||{{Cunk}}||gnome-control-center||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F10}}||&amp;quot;Search&amp;quot; key (launch search charm/app)||00000080 0000101e||0x1D||{{Cunk}}||{{Cunk}}||Meta-f (Unity file search)||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F11}}||&amp;quot;Task Manager&amp;quot; key (show opened programs)||00000080 0000101f||0x1E||{{Cunk}}||{{Cunk}}||Alt-Tab (task switcher)||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F12}}||&amp;quot;All Apps&amp;quot; key (show picker for all installed programs)||00000080 00001020||0x1F||{{Cunk}}||{{Cunk}}||Meta||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|Lid flipped||Enable tablet mode||00000080 000060c0&amp;lt;br&amp;gt;00000080 00005009||{{Cunk}}||''reserved''||{{Cunk}}||Launch on-screen keyboard||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|Lid normal||Disable tablet mode||00000080 000060c0&amp;lt;br&amp;gt;00000080 0000500a||{{Cunk}}||''reserved''||{{Cunk}}||Hide on-screen-keyboard||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|Rotate}}||Toggle screen rotation||00000080 00006020||{{Cunk}}||{{Cunk}}||{{Cunk}}||/etc/acpi/event/lenovo-twist-rotate&amp;lt;br&amp;gt;calls notify-send ATM, since xrandr is crashing X :/||{{Cno}}||{{Fixme|X crashing}}&lt;br /&gt;
|}&lt;br /&gt;
===Toggling TouchPad===&lt;br /&gt;
One of the very annoying things about the available settings in 12.10 is that there no longer appears to be a way to completely disable the Synaptics TouchPad device from the UI.  Also, no touchpad indicator applet appears to be available in the standard repos.&lt;br /&gt;
&lt;br /&gt;
Related to this, is the very poor interaction between the TouchPad and the TouchScreen (Atmel maXTouch Digitizer) when the screen is folded into tablet mode.  The result is the cursor begins to jump around and get &amp;quot;twitchy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
So, to solve this, there are two things to address:&lt;br /&gt;
# How to disable/enable the TouchPad on demand (hotkey event or other keybinding)&lt;br /&gt;
# How to disable/enable the TouchPad automatically when tablet mode is enabled/disabled&lt;br /&gt;
====On Demand====&lt;br /&gt;
To add new, custom, key bindings, launch the &amp;quot;'''Keyboard'''&amp;quot; editor:&lt;br /&gt;
&lt;br /&gt;
{{cmduser|gnome-control-center keyboard}}&lt;br /&gt;
&lt;br /&gt;
Then navigate to the &amp;quot;'''Shortcuts'''&amp;quot; tab, select the &amp;quot;'''Custom Shortcuts'''&amp;quot; and then click the &amp;quot;'''+'''&amp;quot; button and provide the name and command for your binding.  For example:&lt;br /&gt;
&lt;br /&gt;
[[Image:Add-custom-keybinding.png]]&lt;br /&gt;
&lt;br /&gt;
In this example, I tell it to invoke the script &amp;lt;tt&amp;gt;~/toggle-touchpad.sh&amp;lt;/tt&amp;gt;, which you can create like this:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; ~/toggle-touchpad.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 declare -A TOGGLE=([true]=false [false]=true)&lt;br /&gt;
 SCHEMA=&amp;quot;org.gnome.settings-daemon.peripherals.touchpad&amp;quot;&lt;br /&gt;
 KEY=&amp;quot;touchpad-enabled&amp;quot;&lt;br /&gt;
 gsettings set $SCHEMA $KEY ${TOGGLE[$(gsettings get $SCHEMA $KEY)]}&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Or, use this one-line version directly in the &amp;quot;Command:&amp;quot; field:&lt;br /&gt;
&lt;br /&gt;
 /bin/bash -c 'declare -A TOGGLE=([true]=false [false]=true) &amp;amp;&amp;amp; \&lt;br /&gt;
     SCHEMA=&amp;quot;org.gnome.settings-daemon.peripherals.touchpad&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
     KEY=&amp;quot;touchpad-enabled&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
     gsettings set $SCHEMA $KEY ${TOGGLE[$(gsettings get $SCHEMA $KEY)]}' &lt;br /&gt;
&lt;br /&gt;
Finally, click the word &amp;quot;'''disabled'''&amp;quot; on the newly added custom shortcut and hit the button or key combination you want to use for toggling the TouchPads enabled state.&lt;br /&gt;
&lt;br /&gt;
====Automatic====&lt;br /&gt;
To solve the &amp;quot;jitter&amp;quot; problem with the mouse when the Twist is in tablet mode, a few additions to the acpi events handlers is all that's required.  The following need to be run as root, or via sudo.&lt;br /&gt;
&lt;br /&gt;
First, we need to configure acpid to recognize the events triggered when the Twist changes tablet mode state:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/events/twist-tablet-enabled&lt;br /&gt;
 # /etc/acpi/events/twist-tablet-enabled&lt;br /&gt;
 # This is called when the lid is placed in tablet position on&lt;br /&gt;
 # Lenovo Twist ThinkPads&lt;br /&gt;
 &lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 00005009&lt;br /&gt;
 action=/etc/acpi/twist-tabletmode.sh 1&lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/events/twist-tablet-disabled&lt;br /&gt;
 # /etc/acpi/events/twist-tablet-disabled&lt;br /&gt;
 # This is called when the lid is placed in normal position on&lt;br /&gt;
 # Lenovo Twist ThinkPads&lt;br /&gt;
 &lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 0000500a&lt;br /&gt;
 action=/etc/acpi/twist-tabletmode.sh 0&lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 # Now, restart acpid so it can re-read the event filters, including the ones you just added&lt;br /&gt;
 killall -SIGHUP acpid&lt;br /&gt;
&lt;br /&gt;
Second, create the referenced action script (&amp;lt;tt&amp;gt;/etc/acpi/twist-tabletmode.sh&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/twist-tabletmode.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 [ -f /usr/share/acpi-support/state-funcs ] || exit 0 &lt;br /&gt;
 &lt;br /&gt;
 . /usr/share/acpi-support/power-funcs&lt;br /&gt;
 &lt;br /&gt;
 getXconsole&lt;br /&gt;
 &lt;br /&gt;
 # If passed in a (valid) arg, use it&lt;br /&gt;
 [ &amp;quot;$1&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$1&amp;quot; = &amp;quot;0&amp;quot; -o &amp;quot;$1&amp;quot; = &amp;quot;1&amp;quot; ] &amp;amp;&amp;amp; MODE=${MODE:=${1}}&lt;br /&gt;
 &lt;br /&gt;
 # Otherwise, use current state from thinkpad acpi sysfs entry, as described at&lt;br /&gt;
 # http://www.kernel.org/doc/Documentation/laptops/thinkpad-acpi.txt&lt;br /&gt;
 MODE=${MODE:=&amp;quot;$(cat /sys/devices/platform/thinkpad_acpi/hotkey_tablet_mode)&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 TOUCHPAD_NAME=&amp;quot;TouchPad&amp;quot;&lt;br /&gt;
 TOUCHPAD_STATES=(&amp;quot;enable&amp;quot; &amp;quot;disable&amp;quot;)&lt;br /&gt;
 TOUCHPAD_CMD=${TOUCHPAD_STATES[$MODE]}&lt;br /&gt;
 &lt;br /&gt;
 TOUCHSCREEN_NAME=&amp;quot;maXTouch&amp;quot;&lt;br /&gt;
 TOUCHSCREEN_STATES=(&amp;quot;disable&amp;quot; &amp;quot;enable&amp;quot;)&lt;br /&gt;
 TOUCHSCREEN_CMD=${TOUCHSCREEN_STATES[$MODE]}&lt;br /&gt;
 &lt;br /&gt;
 # Get xinput ids for the TouchPad and TouchScreen devices&lt;br /&gt;
 TOUCHPAD_ID=$(xinput list --id-only &amp;quot;$(xinput list --name-only|grep -m1 $TOUCHPAD_NAME)&amp;quot;)&lt;br /&gt;
 TOUCHSCREEN_ID=$(xinput list --id-only &amp;quot;$(xinput list --name-only|grep -m1 $TOUCHSCREEN_NAME)&amp;quot;)&lt;br /&gt;
  &lt;br /&gt;
 # Get users configured TouchPad state preference and honor it.&lt;br /&gt;
 TOUCHPAD_ENABLED=$(sudo -iu $user gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled)&lt;br /&gt;
  &lt;br /&gt;
 # Only change TouchPad state if touchpad-enabled=true and a device was found&lt;br /&gt;
 [ ${#TOUCHPAD_ID} -gt 0 -a &amp;quot;$TOUCHPAD_ENABLED&amp;quot; = &amp;quot;true&amp;quot; ] &amp;amp;&amp;amp; xinput $TOUCHPAD_CMD $TOUCHPAD_ID&lt;br /&gt;
  &lt;br /&gt;
 # Only change TouchScreen state if a device was found&lt;br /&gt;
 [ ${#TOUCHSCREEN_ID} -gt 0 ] &amp;amp;&amp;amp; xinput $TOUCHSCREEN_CMD $TOUCHSCREEN_ID&lt;br /&gt;
   &lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 # Make it executable...&lt;br /&gt;
 chmod +x /etc/acpi/twist-tabletmode.sh&lt;br /&gt;
&lt;br /&gt;
That's it!!!  Time to test it out by converting the Twist into tablet mode.  You can crack the lid about 1&amp;amp;frac12; inches before the Twist will exit tablet mode.  While in tablet mode, crack the lid and confirm that touching the TouchPad has no effect.&lt;br /&gt;
&lt;br /&gt;
====More Detail====&lt;br /&gt;
Initially, I pursued this as an XInput issue, only to discover later after digging through this to solve the automatice use case during tablet mode changes, that there is a GSettings key that also is at play here.  As I soon discovered, the GSettings key will actually determine if any changes vi xinput will be honored.&lt;br /&gt;
&lt;br /&gt;
=====XInput Method=====&lt;br /&gt;
First, determine the xinput device id for the TouchPad&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput list --name-only|grep -im1 TouchPad}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|SynPS/2 Synaptics TouchPad}}&lt;br /&gt;
&lt;br /&gt;
Next, using this name, get the xinput device id for it&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput list --id-only &amp;quot;SynPS/2 Synaptics TouchPad&amp;quot;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|12}}&lt;br /&gt;
&lt;br /&gt;
Now, to disable and then enable it, simply run&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput disable 12}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmduser|xinput enable 12}}&lt;br /&gt;
&lt;br /&gt;
=====GSettings Method=====&lt;br /&gt;
There is a GSettings key in the &amp;lt;tt&amp;gt;org.gnome.settings-daemon.peripherals.touchpad&amp;lt;/tt&amp;gt; schema called &amp;lt;tt&amp;gt;touchpad-enabled&amp;lt;/tt&amp;gt;.  To get and set this key, you use the &amp;lt;tt&amp;gt;gsettings&amp;lt;/tt&amp;gt; command from a terminal that is associated with your active user session:&lt;br /&gt;
&lt;br /&gt;
Get the current value of touchpad-enabled&lt;br /&gt;
 $ gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled&lt;br /&gt;
 true&lt;br /&gt;
&lt;br /&gt;
To disable the TouchPad, set touchpad-enabled to false&lt;br /&gt;
 $ gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false&lt;br /&gt;
&lt;br /&gt;
Now check the value of touchpad-enabled, should be false...&lt;br /&gt;
 $ gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled&lt;br /&gt;
 false&lt;br /&gt;
&lt;br /&gt;
===Think Light Control===&lt;br /&gt;
You can control red the LED in the &amp;quot;i&amp;quot; of the &amp;quot;ThinkPad&amp;quot; logo as follows&lt;br /&gt;
&lt;br /&gt;
Turn on the LED...&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 on &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
 &lt;br /&gt;
Turn off the LED...&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 off &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
Blink the LED&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 blink &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
===Headphone Plug Events===&lt;br /&gt;
On the Twist, when I was testing this, /dev/input/event12 was where Headphone jack plug and unplug events were being reported&lt;br /&gt;
&lt;br /&gt;
Install the input-utils package and then run:&lt;br /&gt;
&lt;br /&gt;
 # input-events 12&lt;br /&gt;
 /dev/input/event12&lt;br /&gt;
    bustype : (null)&lt;br /&gt;
    vendor  : 0x0&lt;br /&gt;
    product : 0x0&lt;br /&gt;
    version : 0&lt;br /&gt;
    name    : &amp;quot;HDA Intel PCH Headphone&amp;quot;&lt;br /&gt;
    phys    : &amp;quot;ALSA&amp;quot;&lt;br /&gt;
    bits ev : EV_SYN EV_SW&lt;br /&gt;
 &lt;br /&gt;
 waiting for events&lt;br /&gt;
 11:54:14.257360: EV_SW SW_HEADPHONE_INSERT 1&lt;br /&gt;
 11:54:14.257361: EV_SYN code=0 value=0&lt;br /&gt;
 11:54:14.587882: EV_SW SW_HEADPHONE_INSERT 0&lt;br /&gt;
 11:54:14.587883: EV_SYN code=0 value=0&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
&amp;lt;tt&amp;gt;'''SW_HEADPHONE_INSERT''' 1&amp;lt;/tt&amp;gt; represents the &amp;quot;'''plug'''&amp;quot; event&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;'''SW_HEADPHONE_INSERT''' 0&amp;lt;/tt&amp;gt; represents the &amp;quot;'''unplug'''&amp;quot; event&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Input Mapping===&lt;br /&gt;
The following table is derived from the output of the {{cmdroot|lsinput}} command (part of the input-utils package)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!/dev path!!name!!phys!!ev flags&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event0||Power Button||PNP0C0C/button/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event1||Lid Switch||PNP0C0D/button/input0||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event2||Power Button||LNXPWRBN/button/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event3||AT Translated Set 2 keyboard||isa0060/serio0/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_MSC EV_LED&amp;lt;br&amp;gt;EV_REP&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event4||ThinkPad Extra Buttons||thinkpad_acpi/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_MSC EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event5||Atmel Atmel maXTouch Digitizer||usb-0000:00:1a.0-1.1/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_ABS&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event6||Integrated Camera||usb-0000:00:1d.0-1.6/button||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event7||Video Bus||LNXVIDEO/video/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event8||SynPS/2 Synaptics TouchPad||isa0060/serio1/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_ABS&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event9||HDA Intel PCH HDMI/DP,pcm=7||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event10||HDA Intel PCH HDMI/DP,pcm=3||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event11||HDA Intel PCH Mic||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event12||HDA Intel PCH Headphone||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event13||TPPS/2 IBM TrackPoint||synaptics-pt/serio0/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_REL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Edge Twist]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=File:Add-custom-keybinding.png&amp;diff=54370</id>
		<title>File:Add-custom-keybinding.png</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=File:Add-custom-keybinding.png&amp;diff=54370"/>
		<updated>2013-01-29T02:22:35Z</updated>

		<summary type="html">&lt;p&gt;Shane: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_12.10_on_Thinkpad_Twist&amp;diff=54369</id>
		<title>Installing Ubuntu 12.10 on Thinkpad Twist</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_12.10_on_Thinkpad_Twist&amp;diff=54369"/>
		<updated>2013-01-29T02:20:22Z</updated>

		<summary type="html">&lt;p&gt;Shane: Integrated previous authors content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installing Ubuntu 12.10 on the Lenovo Twist ultrabook&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
===Specs===&lt;br /&gt;
*Lenovo Twist - S230u (model 3347-CTO)&lt;br /&gt;
*Ubuntu 12.10 - 64bit (ubuntu-12.10-desktop-amd64.iso) &lt;br /&gt;
&lt;br /&gt;
{{Todo|DMESG etc to follow}}&lt;br /&gt;
&lt;br /&gt;
===What Works===&lt;br /&gt;
*Touch screen - single touch only {{Fixme|Needs review.  Multitouch worked for me --[[User:Shane|Shane]] 03:20, 29 January 2013 (CET)}}&lt;br /&gt;
*Sound, WLAN, camera, SSD works&lt;br /&gt;
*WWAN works&lt;br /&gt;
&lt;br /&gt;
===What Does Not Work===&lt;br /&gt;
*GPS does not work&lt;br /&gt;
&lt;br /&gt;
==Install==&lt;br /&gt;
{{WARN|Since this device ships with the BIOS set to boot from '''UEFI only'''.  You must enable '''Legacy''' boot option in the BIOS before you can begin installing Ubuntu.}}&lt;br /&gt;
# Enable Legacy boot in BIOS&lt;br /&gt;
# Plug in USB drive containing Ubuntu 12.10 install image&lt;br /&gt;
# Turn power on&lt;br /&gt;
# Proceed through install&lt;br /&gt;
# Reboot when done&lt;br /&gt;
# Log in and install any available updates (rebooting as needed)&lt;br /&gt;
&lt;br /&gt;
==Customize==&lt;br /&gt;
&lt;br /&gt;
===Additional Packages===&lt;br /&gt;
Much of what follows depends on some additional tools.  You can run the following command to install them all at once:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install \&lt;br /&gt;
 mesa-utils               # resolves &amp;quot;Graphics Unknown&amp;quot; reported in system info \&lt;br /&gt;
 input-utils              # Misc tools to assist in detecting and configuring special HW keys/events&lt;br /&gt;
&lt;br /&gt;
===Graphics===&lt;br /&gt;
====Fix &amp;quot;unknown&amp;quot; graphics adapter====&lt;br /&gt;
Install mesa-utils, which adds glxinfo, used by system info to report the &amp;quot;friendly&amp;quot; graphics device name&lt;br /&gt;
{{cmduser|sudo apt-get install mesa-utils}}&lt;br /&gt;
====Enable SNA====&lt;br /&gt;
To enable SNA (vs. default UXA) in X, create an Xorg config option file (/usr/share/X11/xorg.conf.d/20-enable-sna.conf) as follows:&lt;br /&gt;
 # cat &amp;lt;&amp;lt;EOF &amp;gt; /usr/share/X11/xorg.conf.d/20-enable-sna.conf&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
     Identifier &amp;quot;Card0&amp;quot;&lt;br /&gt;
     Driver &amp;quot;intel&amp;quot;&lt;br /&gt;
     Option &amp;quot;AccelMethod&amp;quot; &amp;quot;sna&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 EOF&lt;br /&gt;
===Key Bindings===&lt;br /&gt;
{{HINT|Lenovo's intended behavior for the Function keys in Windows 8 is defined in the their [http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/s230u_twist_ug_en.pdf Lenovo Twist User Manual])}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Button!!Purpose!!HKEY!!Scan Code!!Key Code!!Key Sym!!Bind To!!Works Out of Box||Works with Tweaking&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F1}}||&amp;quot;Mute&amp;quot; key (toggle speaker muting)||{{Cunk}}||{{Cunk}}||113||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F2}}||&amp;quot;Volume Down&amp;quot; key||{{Cunk}}||{{Cunk}}||114||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F3}}||&amp;quot;Volume Up&amp;quot; key||{{Cunk}}||{{Cunk}}||115||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F4}}||&amp;quot;Mic&amp;quot; key (toggle mic muting)||00000080 0000101b||0x1A||micmute||{{Cunk}}||/etc/acpi/event/lenovo-micmute&amp;lt;br&amp;gt;calls amixer to toggle Capture device||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F5}}||&amp;quot;Brightness Down&amp;quot; key||{{Cunk}}||{{Cunk}}||224||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F6}}||&amp;quot;Brightness Up&amp;quot; key||{{Cunk}}||{{Cunk}}||225||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F7}}||&amp;quot;Display&amp;quot; key (toggle display output selection)||{{Cunk}}||0x06||227||switchvideomode|| ||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F8}}||&amp;quot;Radio&amp;quot; key (toggle Airplane mode)||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F9}}||&amp;quot;Settings&amp;quot; key (launch settings charm/app)||00000080 0000101d||0x1C||{{Cunk}}||{{Cunk}}||gnome-control-center||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F10}}||&amp;quot;Search&amp;quot; key (launch search charm/app)||00000080 0000101e||0x1D||{{Cunk}}||{{Cunk}}||Meta-f (Unity file search)||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F11}}||&amp;quot;Task Manager&amp;quot; key (show opened programs)||00000080 0000101f||0x1E||{{Cunk}}||{{Cunk}}||Alt-Tab (task switcher)||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F12}}||&amp;quot;All Apps&amp;quot; key (show picker for all installed programs)||00000080 00001020||0x1F||{{Cunk}}||{{Cunk}}||Meta||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|Lid flipped||Enable tablet mode||00000080 000060c0&amp;lt;br&amp;gt;00000080 00005009||{{Cunk}}||''reserved''||{{Cunk}}||Launch on-screen keyboard||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|Lid normal||Disable tablet mode||00000080 000060c0&amp;lt;br&amp;gt;00000080 0000500a||{{Cunk}}||''reserved''||{{Cunk}}||Hide on-screen-keyboard||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|Rotate}}||Toggle screen rotation||00000080 00006020||{{Cunk}}||{{Cunk}}||{{Cunk}}||/etc/acpi/event/lenovo-twist-rotate&amp;lt;br&amp;gt;calls notify-send ATM, since xrandr is crashing X :/||{{Cno}}||{{Fixme|X crashing}}&lt;br /&gt;
|}&lt;br /&gt;
===Toggling TouchPad===&lt;br /&gt;
One of the very annoying things about the available settings in 12.10 is that there no longer appears to be a way to completely disable the Synaptics TouchPad device from the UI.  Also, no touchpad indicator applet appears to be available in the standard repos.&lt;br /&gt;
&lt;br /&gt;
Related to this, is the very poor interaction between the TouchPad and the TouchScreen (Atmel maXTouch Digitizer) when the screen is folded into tablet mode.  The result is the cursor begins to jump around and get &amp;quot;twitchy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
So, to solve this, there are two things to address:&lt;br /&gt;
# How to disable/enable the TouchPad on demand (hotkey event or other keybinding)&lt;br /&gt;
# How to disable/enable the TouchPad automatically when tablet mode is enabled/disabled&lt;br /&gt;
====On Demand====&lt;br /&gt;
To add new, custom, key bindings, launch the &amp;quot;'''Keyboard'''&amp;quot; editor:&lt;br /&gt;
{{cmduser|gnome-control-center keyboard}}&lt;br /&gt;
&lt;br /&gt;
and navigate to the &amp;quot;Shortcuts&amp;quot; tab, select the '''Custom Shortcuts''' and then click the '''+''' button and provide the name and command for your binding.  For example:&lt;br /&gt;
&lt;br /&gt;
[[Image:Add-custom-keybinding.png]]&lt;br /&gt;
&lt;br /&gt;
In this example, I tell it to invoke the script &amp;lt;tt&amp;gt;~/toggle-touchpad.sh&amp;lt;/tt&amp;gt;, which might look something like this:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 declare -A TOGGLE=([true]=false [false]=true)&lt;br /&gt;
 SCHEMA=&amp;quot;org.gnome.settings-daemon.peripherals.touchpad&amp;quot;&lt;br /&gt;
 KEY=&amp;quot;touchpad-enabled&amp;quot;&lt;br /&gt;
 gsettings set $SCHEMA $KEY ${TOGGLE[$(gsettings get $SCHEMA $KEY)]}&lt;br /&gt;
&lt;br /&gt;
Or, use this one-line version directly in the &amp;quot;Command:&amp;quot; field:&lt;br /&gt;
&lt;br /&gt;
 /bin/bash -c 'declare -A TOGGLE=([true]=false [false]=true) &amp;amp;&amp;amp; \&lt;br /&gt;
     SCHEMA=&amp;quot;org.gnome.settings-daemon.peripherals.touchpad&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
     KEY=&amp;quot;touchpad-enabled&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
     gsettings set $SCHEMA $KEY ${TOGGLE[$(gsettings get $SCHEMA $KEY)]}' &lt;br /&gt;
&lt;br /&gt;
Finally, click the word &amp;quot;'''disabled'''&amp;quot; on the newly added custom shortcut and hit the button or key combination you want to use for toggling the TouchPads enabled state.&lt;br /&gt;
====Automatic====&lt;br /&gt;
To solve the &amp;quot;jitter&amp;quot; problem with the mouse when the Twist is in tablet mode, a few additions to the acpi events handlers is all that's required.  The following need to be run as root, or via sudo.&lt;br /&gt;
&lt;br /&gt;
First, we need to configure acpid to recognize the events triggered when the Twist changes tablet mode state:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/events/twist-tablet-enabled&lt;br /&gt;
 # /etc/acpi/events/twist-tablet-enabled&lt;br /&gt;
 # This is called when the lid is placed in tablet position on&lt;br /&gt;
 # Lenovo Twist ThinkPads&lt;br /&gt;
 &lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 00005009&lt;br /&gt;
 action=/etc/acpi/twist-tabletmode.sh 1&lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/events/twist-tablet-disabled&lt;br /&gt;
 # /etc/acpi/events/twist-tablet-disabled&lt;br /&gt;
 # This is called when the lid is placed in normal position on&lt;br /&gt;
 # Lenovo Twist ThinkPads&lt;br /&gt;
 &lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 0000500a&lt;br /&gt;
 action=/etc/acpi/twist-tabletmode.sh 0&lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 # Now, restart acpid so it can re-read the event filters, including the ones you just added&lt;br /&gt;
 killall -SIGHUP acpid&lt;br /&gt;
&lt;br /&gt;
Second, create the referenced action script (&amp;lt;tt&amp;gt;/etc/acpi/twist-tabletmode.sh&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/twist-tabletmode.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 [ -f /usr/share/acpi-support/state-funcs ] || exit 0 &lt;br /&gt;
 &lt;br /&gt;
 . /usr/share/acpi-support/power-funcs&lt;br /&gt;
 &lt;br /&gt;
 getXconsole&lt;br /&gt;
 &lt;br /&gt;
 # If passed in a (valid) arg, use it&lt;br /&gt;
 [ &amp;quot;$1&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$1&amp;quot; = &amp;quot;0&amp;quot; -o &amp;quot;$1&amp;quot; = &amp;quot;1&amp;quot; ] &amp;amp;&amp;amp; MODE=${MODE:=${1}}&lt;br /&gt;
 &lt;br /&gt;
 # Otherwise, use current state from thinkpad acpi sysfs entry, as described at&lt;br /&gt;
 # http://www.kernel.org/doc/Documentation/laptops/thinkpad-acpi.txt&lt;br /&gt;
 MODE=${MODE:=&amp;quot;$(cat /sys/devices/platform/thinkpad_acpi/hotkey_tablet_mode)&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 TOUCHPAD_NAME=&amp;quot;TouchPad&amp;quot;&lt;br /&gt;
 TOUCHPAD_STATES=(&amp;quot;enable&amp;quot; &amp;quot;disable&amp;quot;)&lt;br /&gt;
 TOUCHPAD_CMD=${TOUCHPAD_STATES[$MODE]}&lt;br /&gt;
 &lt;br /&gt;
 TOUCHSCREEN_NAME=&amp;quot;maXTouch&amp;quot;&lt;br /&gt;
 TOUCHSCREEN_STATES=(&amp;quot;disable&amp;quot; &amp;quot;enable&amp;quot;)&lt;br /&gt;
 TOUCHSCREEN_CMD=${TOUCHSCREEN_STATES[$MODE]}&lt;br /&gt;
 &lt;br /&gt;
 # Get xinput ids for the TouchPad and TouchScreen devices&lt;br /&gt;
 TOUCHPAD_ID=$(xinput list --id-only &amp;quot;$(xinput list --name-only|grep -m1 $TOUCHPAD_NAME)&amp;quot;)&lt;br /&gt;
 TOUCHSCREEN_ID=$(xinput list --id-only &amp;quot;$(xinput list --name-only|grep -m1 $TOUCHSCREEN_NAME)&amp;quot;)&lt;br /&gt;
  &lt;br /&gt;
 # Get users configured TouchPad state preference and honor it.&lt;br /&gt;
 TOUCHPAD_ENABLED=$(sudo -iu $user gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled)&lt;br /&gt;
  &lt;br /&gt;
 # Only change TouchPad state if touchpad-enabled=true and a device was found&lt;br /&gt;
 [ ${#TOUCHPAD_ID} -gt 0 -a &amp;quot;$TOUCHPAD_ENABLED&amp;quot; = &amp;quot;true&amp;quot; ] &amp;amp;&amp;amp; xinput $TOUCHPAD_CMD $TOUCHPAD_ID&lt;br /&gt;
  &lt;br /&gt;
 # Only change TouchScreen state if a device was found&lt;br /&gt;
 [ ${#TOUCHSCREEN_ID} -gt 0 ] &amp;amp;&amp;amp; xinput $TOUCHSCREEN_CMD $TOUCHSCREEN_ID&lt;br /&gt;
   &lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 # Make it executable...&lt;br /&gt;
 chmod +x /etc/acpi/twist-tabletmode.sh&lt;br /&gt;
&lt;br /&gt;
That's it!!!  Time to test it out by converting the Twist into tablet mode.  You can crack the lid about 1&amp;amp;frac12; inches before the Twist will exit tablet mode.  While in tablet mode, crack the lid and confirm that touching the TouchPad has no effect.&lt;br /&gt;
&lt;br /&gt;
====More Detail====&lt;br /&gt;
Initially, I pursued this as an XInput issue, only to discover later after digging through this to solve the automatice use case during tablet mode changes, that there is a GSettings key that also is at play here.  As I soon discovered, the GSettings key will actually determine if any changes vi xinput will be honored.&lt;br /&gt;
&lt;br /&gt;
=====XInput Method=====&lt;br /&gt;
First, determine the xinput device id for the TouchPad&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput list --name-only|grep -im1 TouchPad}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|SynPS/2 Synaptics TouchPad}}&lt;br /&gt;
&lt;br /&gt;
Next, using this name, get the xinput device id for it&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput list --id-only &amp;quot;SynPS/2 Synaptics TouchPad&amp;quot;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|12}}&lt;br /&gt;
&lt;br /&gt;
Now, to disable and then enable it, simply run&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput disable 12}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmduser|xinput enable 12}}&lt;br /&gt;
&lt;br /&gt;
=====GSettings Method=====&lt;br /&gt;
There is a GSettings key in the &amp;lt;tt&amp;gt;org.gnome.settings-daemon.peripherals.touchpad&amp;lt;/tt&amp;gt; schema called &amp;lt;tt&amp;gt;touchpad-enabled&amp;lt;/tt&amp;gt;.  To get and set this key, you use the &amp;lt;tt&amp;gt;gsettings&amp;lt;/tt&amp;gt; command from a terminal that is associated with your active user session:&lt;br /&gt;
&lt;br /&gt;
Get the current value of touchpad-enabled&lt;br /&gt;
 $ gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled&lt;br /&gt;
 true&lt;br /&gt;
&lt;br /&gt;
To disable the TouchPad, set touchpad-enabled to false&lt;br /&gt;
 $ gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false&lt;br /&gt;
&lt;br /&gt;
Now check the value of touchpad-enabled, should be false...&lt;br /&gt;
 $ gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled&lt;br /&gt;
 false&lt;br /&gt;
&lt;br /&gt;
===Think Light Control===&lt;br /&gt;
You can control red the LED in the &amp;quot;i&amp;quot; of the &amp;quot;ThinkPad&amp;quot; logo as follows&lt;br /&gt;
&lt;br /&gt;
Turn on the LED...&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 on &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
 &lt;br /&gt;
Turn off the LED...&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 off &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
Blink the LED&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 blink &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
===Headphone Plug Events===&lt;br /&gt;
On the Twist, when I was testing this, /dev/input/event12 was where Headphone jack plug and unplug events were being reported&lt;br /&gt;
&lt;br /&gt;
Install the input-utils package and then run:&lt;br /&gt;
&lt;br /&gt;
 # input-events 12&lt;br /&gt;
 /dev/input/event12&lt;br /&gt;
    bustype : (null)&lt;br /&gt;
    vendor  : 0x0&lt;br /&gt;
    product : 0x0&lt;br /&gt;
    version : 0&lt;br /&gt;
    name    : &amp;quot;HDA Intel PCH Headphone&amp;quot;&lt;br /&gt;
    phys    : &amp;quot;ALSA&amp;quot;&lt;br /&gt;
    bits ev : EV_SYN EV_SW&lt;br /&gt;
 &lt;br /&gt;
 waiting for events&lt;br /&gt;
 11:54:14.257360: EV_SW SW_HEADPHONE_INSERT 1&lt;br /&gt;
 11:54:14.257361: EV_SYN code=0 value=0&lt;br /&gt;
 11:54:14.587882: EV_SW SW_HEADPHONE_INSERT 0&lt;br /&gt;
 11:54:14.587883: EV_SYN code=0 value=0&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
&amp;lt;tt&amp;gt;'''SW_HEADPHONE_INSERT''' 1&amp;lt;/tt&amp;gt; represents the &amp;quot;'''plug'''&amp;quot; event&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;'''SW_HEADPHONE_INSERT''' 0&amp;lt;/tt&amp;gt; represents the &amp;quot;'''unplug'''&amp;quot; event&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Input Mapping===&lt;br /&gt;
The following table is derived from the output of the {{cmdroot|lsinput}} command (part of the input-utils package)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!/dev path!!name!!phys!!ev flags&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event0||Power Button||PNP0C0C/button/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event1||Lid Switch||PNP0C0D/button/input0||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event2||Power Button||LNXPWRBN/button/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event3||AT Translated Set 2 keyboard||isa0060/serio0/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_MSC EV_LED&amp;lt;br&amp;gt;EV_REP&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event4||ThinkPad Extra Buttons||thinkpad_acpi/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_MSC EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event5||Atmel Atmel maXTouch Digitizer||usb-0000:00:1a.0-1.1/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_ABS&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event6||Integrated Camera||usb-0000:00:1d.0-1.6/button||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event7||Video Bus||LNXVIDEO/video/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event8||SynPS/2 Synaptics TouchPad||isa0060/serio1/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_ABS&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event9||HDA Intel PCH HDMI/DP,pcm=7||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event10||HDA Intel PCH HDMI/DP,pcm=3||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event11||HDA Intel PCH Mic||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event12||HDA Intel PCH Headphone||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event13||TPPS/2 IBM TrackPoint||synaptics-pt/serio0/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_REL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Edge Twist]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_12.10_on_Thinkpad_Twist&amp;diff=54368</id>
		<title>Installing Ubuntu 12.10 on Thinkpad Twist</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_12.10_on_Thinkpad_Twist&amp;diff=54368"/>
		<updated>2013-01-29T02:12:10Z</updated>

		<summary type="html">&lt;p&gt;Shane: Initial details of my Ubuntu 12.10 install onto the Lenovo Twist&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
Needs disabling of UEFI in the BIOS setup screens&lt;br /&gt;
&lt;br /&gt;
Touch screen - single touch only&lt;br /&gt;
&lt;br /&gt;
Sound, WLAN, camera, SSD works&lt;br /&gt;
&lt;br /&gt;
WWAN works&lt;br /&gt;
GPS does not work&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DMESG etc to follow&lt;br /&gt;
&lt;br /&gt;
Installing Ubuntu on the Lenovo Twist ultrabook&lt;br /&gt;
&lt;br /&gt;
==Specs==&lt;br /&gt;
*Lenovo Twist - S230u (model 3347-CTO)&lt;br /&gt;
*Ubuntu 12.10 - 64bit (ubuntu-12.10-desktop-amd64.iso) &lt;br /&gt;
&lt;br /&gt;
==Install==&lt;br /&gt;
{{WARN|Since this device ships with the BIOS set to boot from '''UEFI only'''.  You must enable '''Legacy''' boot option in the BIOS before you can begin installing Ubuntu.}}&lt;br /&gt;
# Enable Legacy boot in BIOS&lt;br /&gt;
# Plug in USB drive containing Ubuntu 12.10 install image&lt;br /&gt;
# Turn power on&lt;br /&gt;
# Proceed through install&lt;br /&gt;
# Reboot when done&lt;br /&gt;
# Log in and install any available updates (rebooting as needed)&lt;br /&gt;
&lt;br /&gt;
==Customize==&lt;br /&gt;
&lt;br /&gt;
===Additional Packages===&lt;br /&gt;
Much of what follows depends on some additional tools.  You can run the following command to install them all at once:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install \&lt;br /&gt;
 mesa-utils               # resolves &amp;quot;Graphics Unknown&amp;quot; reported in system info \&lt;br /&gt;
 input-utils              # Misc tools to assist in detecting and configuring special HW keys/events&lt;br /&gt;
&lt;br /&gt;
===Graphics===&lt;br /&gt;
====Fix &amp;quot;unknown&amp;quot; graphics adapter====&lt;br /&gt;
Install mesa-utils, which adds glxinfo, used by system info to report the &amp;quot;friendly&amp;quot; graphics device name&lt;br /&gt;
{{cmduser|sudo apt-get install mesa-utils}}&lt;br /&gt;
====Enable SNA====&lt;br /&gt;
To enable SNA (vs. default UXA) in X, create an Xorg config option file (/usr/share/X11/xorg.conf.d/20-enable-sna.conf) as follows:&lt;br /&gt;
 # cat &amp;lt;&amp;lt;EOF &amp;gt; /usr/share/X11/xorg.conf.d/20-enable-sna.conf&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
     Identifier &amp;quot;Card0&amp;quot;&lt;br /&gt;
     Driver &amp;quot;intel&amp;quot;&lt;br /&gt;
     Option &amp;quot;AccelMethod&amp;quot; &amp;quot;sna&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 EOF&lt;br /&gt;
===Key Bindings===&lt;br /&gt;
{{HINT|Lenovo's intended behavior for the Function keys in Windows 8 is defined in the their [http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/s230u_twist_ug_en.pdf Lenovo Twist User Manual])}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Button!!Purpose!!HKEY!!Scan Code!!Key Code!!Key Sym!!Bind To!!Works Out of Box||Works with Tweaking&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F1}}||&amp;quot;Mute&amp;quot; key (toggle speaker muting)||{{Cunk}}||{{Cunk}}||113||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F2}}||&amp;quot;Volume Down&amp;quot; key||{{Cunk}}||{{Cunk}}||114||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F3}}||&amp;quot;Volume Up&amp;quot; key||{{Cunk}}||{{Cunk}}||115||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F4}}||&amp;quot;Mic&amp;quot; key (toggle mic muting)||00000080 0000101b||0x1A||micmute||{{Cunk}}||/etc/acpi/event/lenovo-micmute&amp;lt;br&amp;gt;calls amixer to toggle Capture device||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F5}}||&amp;quot;Brightness Down&amp;quot; key||{{Cunk}}||{{Cunk}}||224||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F6}}||&amp;quot;Brightness Up&amp;quot; key||{{Cunk}}||{{Cunk}}||225||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F7}}||&amp;quot;Display&amp;quot; key (toggle display output selection)||{{Cunk}}||0x06||227||switchvideomode|| ||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F8}}||&amp;quot;Radio&amp;quot; key (toggle Airplane mode)||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cunk}}||{{Cyes}}||{{Cunk|text=}}N/A&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F9}}||&amp;quot;Settings&amp;quot; key (launch settings charm/app)||00000080 0000101d||0x1C||{{Cunk}}||{{Cunk}}||gnome-control-center||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F10}}||&amp;quot;Search&amp;quot; key (launch search charm/app)||00000080 0000101e||0x1D||{{Cunk}}||{{Cunk}}||Meta-f (Unity file search)||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F11}}||&amp;quot;Task Manager&amp;quot; key (show opened programs)||00000080 0000101f||0x1E||{{Cunk}}||{{Cunk}}||Alt-Tab (task switcher)||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|F12}}||&amp;quot;All Apps&amp;quot; key (show picker for all installed programs)||00000080 00001020||0x1F||{{Cunk}}||{{Cunk}}||Meta||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|Lid flipped||Enable tablet mode||00000080 000060c0&amp;lt;br&amp;gt;00000080 00005009||{{Cunk}}||''reserved''||{{Cunk}}||Launch on-screen keyboard||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|Lid normal||Disable tablet mode||00000080 000060c0&amp;lt;br&amp;gt;00000080 0000500a||{{Cunk}}||''reserved''||{{Cunk}}||Hide on-screen-keyboard||{{Cno}}||{{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{key|Rotate}}||Toggle screen rotation||00000080 00006020||{{Cunk}}||{{Cunk}}||{{Cunk}}||/etc/acpi/event/lenovo-twist-rotate&amp;lt;br&amp;gt;calls notify-send ATM, since xrandr is crashing X :/||{{Cno}}||{{Fixme|X crashing}}&lt;br /&gt;
|}&lt;br /&gt;
===Toggling TouchPad===&lt;br /&gt;
One of the very annoying things about the available settings in 12.10 is that there no longer appears to be a way to completely disable the Synaptics TouchPad device from the UI.  Also, no touchpad indicator applet appears to be available in the standard repos.&lt;br /&gt;
&lt;br /&gt;
Related to this, is the very poor interaction between the TouchPad and the TouchScreen (Atmel maXTouch Digitizer) when the screen is folded into tablet mode.  The result is the cursor begins to jump around and get &amp;quot;twitchy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
So, to solve this, there are two things to address:&lt;br /&gt;
# How to disable/enable the TouchPad on demand (hotkey event or other keybinding)&lt;br /&gt;
# How to disable/enable the TouchPad automatically when tablet mode is enabled/disabled&lt;br /&gt;
====On Demand====&lt;br /&gt;
To add new, custom, key bindings, launch the &amp;quot;'''Keyboard'''&amp;quot; editor:&lt;br /&gt;
{{cmduser|gnome-control-center keyboard}}&lt;br /&gt;
&lt;br /&gt;
and navigate to the &amp;quot;Shortcuts&amp;quot; tab, select the '''Custom Shortcuts''' and then click the '''+''' button and provide the name and command for your binding.  For example:&lt;br /&gt;
&lt;br /&gt;
[[Image:Add-custom-keybinding.png]]&lt;br /&gt;
&lt;br /&gt;
In this example, I tell it to invoke the script &amp;lt;tt&amp;gt;~/toggle-touchpad.sh&amp;lt;/tt&amp;gt;, which might look something like this:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 declare -A TOGGLE=([true]=false [false]=true)&lt;br /&gt;
 SCHEMA=&amp;quot;org.gnome.settings-daemon.peripherals.touchpad&amp;quot;&lt;br /&gt;
 KEY=&amp;quot;touchpad-enabled&amp;quot;&lt;br /&gt;
 gsettings set $SCHEMA $KEY ${TOGGLE[$(gsettings get $SCHEMA $KEY)]}&lt;br /&gt;
&lt;br /&gt;
Or, use this one-line version directly in the &amp;quot;Command:&amp;quot; field:&lt;br /&gt;
&lt;br /&gt;
 /bin/bash -c 'declare -A TOGGLE=([true]=false [false]=true) &amp;amp;&amp;amp; \&lt;br /&gt;
     SCHEMA=&amp;quot;org.gnome.settings-daemon.peripherals.touchpad&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
     KEY=&amp;quot;touchpad-enabled&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
     gsettings set $SCHEMA $KEY ${TOGGLE[$(gsettings get $SCHEMA $KEY)]}' &lt;br /&gt;
&lt;br /&gt;
Finally, click the word &amp;quot;'''disabled'''&amp;quot; on the newly added custom shortcut and hit the button or key combination you want to use for toggling the TouchPads enabled state.&lt;br /&gt;
====Automatic====&lt;br /&gt;
To solve the &amp;quot;jitter&amp;quot; problem with the mouse when the Twist is in tablet mode, a few additions to the acpi events handlers is all that's required.  The following need to be run as root, or via sudo.&lt;br /&gt;
&lt;br /&gt;
First, we need to configure acpid to recognize the events triggered when the Twist changes tablet mode state:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/events/twist-tablet-enabled&lt;br /&gt;
 # /etc/acpi/events/twist-tablet-enabled&lt;br /&gt;
 # This is called when the lid is placed in tablet position on&lt;br /&gt;
 # Lenovo Twist ThinkPads&lt;br /&gt;
 &lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 00005009&lt;br /&gt;
 action=/etc/acpi/twist-tabletmode.sh 1&lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/events/twist-tablet-disabled&lt;br /&gt;
 # /etc/acpi/events/twist-tablet-disabled&lt;br /&gt;
 # This is called when the lid is placed in normal position on&lt;br /&gt;
 # Lenovo Twist ThinkPads&lt;br /&gt;
 &lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 0000500a&lt;br /&gt;
 action=/etc/acpi/twist-tabletmode.sh 0&lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 # Now, restart acpid so it can re-read the event filters, including the ones you just added&lt;br /&gt;
 killall -SIGHUP acpid&lt;br /&gt;
&lt;br /&gt;
Second, create the referenced action script (&amp;lt;tt&amp;gt;/etc/acpi/twist-tabletmode.sh&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/twist-tabletmode.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 [ -f /usr/share/acpi-support/state-funcs ] || exit 0 &lt;br /&gt;
 &lt;br /&gt;
 . /usr/share/acpi-support/power-funcs&lt;br /&gt;
 &lt;br /&gt;
 getXconsole&lt;br /&gt;
 &lt;br /&gt;
 # If passed in a (valid) arg, use it&lt;br /&gt;
 [ &amp;quot;$1&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$1&amp;quot; = &amp;quot;0&amp;quot; -o &amp;quot;$1&amp;quot; = &amp;quot;1&amp;quot; ] &amp;amp;&amp;amp; MODE=${MODE:=${1}}&lt;br /&gt;
 &lt;br /&gt;
 # Otherwise, use current state from thinkpad acpi sysfs entry, as described at&lt;br /&gt;
 # http://www.kernel.org/doc/Documentation/laptops/thinkpad-acpi.txt&lt;br /&gt;
 MODE=${MODE:=&amp;quot;$(cat /sys/devices/platform/thinkpad_acpi/hotkey_tablet_mode)&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 TOUCHPAD_NAME=&amp;quot;TouchPad&amp;quot;&lt;br /&gt;
 TOUCHPAD_STATES=(&amp;quot;enable&amp;quot; &amp;quot;disable&amp;quot;)&lt;br /&gt;
 TOUCHPAD_CMD=${TOUCHPAD_STATES[$MODE]}&lt;br /&gt;
 &lt;br /&gt;
 TOUCHSCREEN_NAME=&amp;quot;maXTouch&amp;quot;&lt;br /&gt;
 TOUCHSCREEN_STATES=(&amp;quot;disable&amp;quot; &amp;quot;enable&amp;quot;)&lt;br /&gt;
 TOUCHSCREEN_CMD=${TOUCHSCREEN_STATES[$MODE]}&lt;br /&gt;
 &lt;br /&gt;
 # Get xinput ids for the TouchPad and TouchScreen devices&lt;br /&gt;
 TOUCHPAD_ID=$(xinput list --id-only &amp;quot;$(xinput list --name-only|grep -m1 $TOUCHPAD_NAME)&amp;quot;)&lt;br /&gt;
 TOUCHSCREEN_ID=$(xinput list --id-only &amp;quot;$(xinput list --name-only|grep -m1 $TOUCHSCREEN_NAME)&amp;quot;)&lt;br /&gt;
  &lt;br /&gt;
 # Get users configured TouchPad state preference and honor it.&lt;br /&gt;
 TOUCHPAD_ENABLED=$(sudo -iu $user gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled)&lt;br /&gt;
  &lt;br /&gt;
 # Only change TouchPad state if touchpad-enabled=true and a device was found&lt;br /&gt;
 [ ${#TOUCHPAD_ID} -gt 0 -a &amp;quot;$TOUCHPAD_ENABLED&amp;quot; = &amp;quot;true&amp;quot; ] &amp;amp;&amp;amp; xinput $TOUCHPAD_CMD $TOUCHPAD_ID&lt;br /&gt;
  &lt;br /&gt;
 # Only change TouchScreen state if a device was found&lt;br /&gt;
 [ ${#TOUCHSCREEN_ID} -gt 0 ] &amp;amp;&amp;amp; xinput $TOUCHSCREEN_CMD $TOUCHSCREEN_ID&lt;br /&gt;
   &lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 # Make it executable...&lt;br /&gt;
 chmod +x /etc/acpi/twist-tabletmode.sh&lt;br /&gt;
&lt;br /&gt;
That's it!!!  Time to test it out by converting the Twist into tablet mode.  You can crack the lid about 1&amp;amp;frac12; inches before the Twist will exit tablet mode.  While in tablet mode, crack the lid and confirm that touching the TouchPad has no effect.&lt;br /&gt;
&lt;br /&gt;
====More Detail====&lt;br /&gt;
Initially, I pursued this as an XInput issue, only to discover later after digging through this to solve the automatice use case during tablet mode changes, that there is a GSettings key that also is at play here.  As I soon discovered, the GSettings key will actually determine if any changes vi xinput will be honored.&lt;br /&gt;
&lt;br /&gt;
=====XInput Method=====&lt;br /&gt;
First, determine the xinput device id for the TouchPad&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput list --name-only|grep -im1 TouchPad}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|SynPS/2 Synaptics TouchPad}}&lt;br /&gt;
&lt;br /&gt;
Next, using this name, get the xinput device id for it&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput list --id-only &amp;quot;SynPS/2 Synaptics TouchPad&amp;quot;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdresult|12}}&lt;br /&gt;
&lt;br /&gt;
Now, to disable and then enable it, simply run&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xinput disable 12}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmduser|xinput enable 12}}&lt;br /&gt;
&lt;br /&gt;
=====GSettings Method=====&lt;br /&gt;
There is a GSettings key in the &amp;lt;tt&amp;gt;org.gnome.settings-daemon.peripherals.touchpad&amp;lt;/tt&amp;gt; schema called &amp;lt;tt&amp;gt;touchpad-enabled&amp;lt;/tt&amp;gt;.  To get and set this key, you use the &amp;lt;tt&amp;gt;gsettings&amp;lt;/tt&amp;gt; command from a terminal that is associated with your active user session:&lt;br /&gt;
&lt;br /&gt;
Get the current value of touchpad-enabled&lt;br /&gt;
 $ gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled&lt;br /&gt;
 true&lt;br /&gt;
&lt;br /&gt;
To disable the TouchPad, set touchpad-enabled to false&lt;br /&gt;
 $ gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false&lt;br /&gt;
&lt;br /&gt;
Now check the value of touchpad-enabled, should be false...&lt;br /&gt;
 $ gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled&lt;br /&gt;
 false&lt;br /&gt;
&lt;br /&gt;
===Think Light Control===&lt;br /&gt;
You can control red the LED in the &amp;quot;i&amp;quot; of the &amp;quot;ThinkPad&amp;quot; logo as follows&lt;br /&gt;
&lt;br /&gt;
Turn on the LED...&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 on &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
 &lt;br /&gt;
Turn off the LED...&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 off &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
Blink the LED&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0 blink &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
===Headphone Plug Events===&lt;br /&gt;
On the Twist, when I was testing this, /dev/input/event12 was where Headphone jack plug and unplug events were being reported&lt;br /&gt;
&lt;br /&gt;
Install the input-utils package and then run:&lt;br /&gt;
&lt;br /&gt;
 # input-events 12&lt;br /&gt;
 /dev/input/event12&lt;br /&gt;
    bustype : (null)&lt;br /&gt;
    vendor  : 0x0&lt;br /&gt;
    product : 0x0&lt;br /&gt;
    version : 0&lt;br /&gt;
    name    : &amp;quot;HDA Intel PCH Headphone&amp;quot;&lt;br /&gt;
    phys    : &amp;quot;ALSA&amp;quot;&lt;br /&gt;
    bits ev : EV_SYN EV_SW&lt;br /&gt;
 &lt;br /&gt;
 waiting for events&lt;br /&gt;
 11:54:14.257360: EV_SW SW_HEADPHONE_INSERT 1&lt;br /&gt;
 11:54:14.257361: EV_SYN code=0 value=0&lt;br /&gt;
 11:54:14.587882: EV_SW SW_HEADPHONE_INSERT 0&lt;br /&gt;
 11:54:14.587883: EV_SYN code=0 value=0&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
&amp;lt;tt&amp;gt;'''SW_HEADPHONE_INSERT''' 1&amp;lt;/tt&amp;gt; represents the &amp;quot;'''plug'''&amp;quot; event&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;'''SW_HEADPHONE_INSERT''' 0&amp;lt;/tt&amp;gt; represents the &amp;quot;'''unplug'''&amp;quot; event&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Input Mapping===&lt;br /&gt;
The following table is derived from the output of the {{cmdroot|lsinput}} command (part of the input-utils package)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!/dev path!!name!!phys!!ev flags&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event0||Power Button||PNP0C0C/button/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event1||Lid Switch||PNP0C0D/button/input0||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event2||Power Button||LNXPWRBN/button/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event3||AT Translated Set 2 keyboard||isa0060/serio0/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_MSC EV_LED&amp;lt;br&amp;gt;EV_REP&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event4||ThinkPad Extra Buttons||thinkpad_acpi/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_MSC EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event5||Atmel Atmel maXTouch Digitizer||usb-0000:00:1a.0-1.1/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_ABS&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event6||Integrated Camera||usb-0000:00:1d.0-1.6/button||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event7||Video Bus||LNXVIDEO/video/input0||EV_SYN EV_KEY&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event8||SynPS/2 Synaptics TouchPad||isa0060/serio1/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_ABS&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event9||HDA Intel PCH HDMI/DP,pcm=7||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event10||HDA Intel PCH HDMI/DP,pcm=3||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event11||HDA Intel PCH Mic||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event12||HDA Intel PCH Headphone||ALSA||EV_SYN EV_SW&lt;br /&gt;
|-&lt;br /&gt;
|/dev/input/event13||TPPS/2 IBM TrackPoint||synaptics-pt/serio0/input0||EV_SYN EV_KEY&amp;lt;br&amp;gt;EV_REL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Edge Twist]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
</feed>