Ural penguins - Сообщений в ThinkPad
http://uralbash.ru/blog/category/thinkpad/atom.xml
2012-11-12T00:23:00Z
ABlog
x220 tablet и доп кнопки в Linux
http://uralbash.ru/articles/2012/x220t_buttons/
2012-11-12T00:23:00Z
2012-11-12T00:23:00Z
Uralbash
<div class="section" id="x220-tablet-linux">
<img alt="_static/2012/x220t.jpg" class="align-left" src="_static/2012/x220t.jpg" />
<p>В принципе мой <a class="reference external" href="https://www.debian.org/">Debian</a> Wheezy определил почти все системные клавиши кроме 2х
справа на картинке (<code class="docutils literal"><span class="pre">Ctr+Alt+Del</span></code> и <code class="docutils literal"><span class="pre">поворот</span> <span class="pre">экрана</span></code>), микрофон и zoom по
<code class="docutils literal"><span class="pre">Fn+пробел</span></code>. <code class="docutils literal"><span class="pre">Ctr+Alt+Del</span></code> не нужен, микрофон и зум это повод написать
отдельную тему, а про поворот экрана я напишу подробно.</p>
<br clear="both"/><p>Вначале определим код кнопки:</p>
<div class="line-block">
<div class="line">1 - запускаем команду <code class="docutils literal"><span class="pre">xev</span></code> и нажимаем кнопку если появляется код то гуд иначе <code class="docutils literal"><span class="pre">п.2</span></code></div>
<div class="line">2 - можно посмотреть код этой кнопки в файле <code class="docutils literal"><span class="pre">/lib/udev/keymaps/lenovo-thinkpad_x200_tablet</span></code> называется <code class="docutils literal"><span class="pre">"rotate</span> <span class="pre">screen"</span></code> код <code class="docutils literal"><span class="pre">0x6c</span></code>, или можно погуглить например <a class="reference external" href="http://www.thinkwiki.org/wiki/Tablet_Hardware_Buttons">http://www.thinkwiki.org/wiki/Tablet_Hardware_Buttons</a> или если не Ъ то запускаем <code class="docutils literal"><span class="pre">tail</span> <span class="pre">-f</span> <span class="pre">|</span> <span class="pre">dmesg</span></code> нажимаем кнопку и видим:</div>
</div>
<br/><div class="highlight-bash"><div class="highlight"><pre><span></span><span class="o">[</span> <span class="m">3650</span>.281439<span class="o">]</span> atkbd serio0: Unknown key released <span class="o">(</span>translated <span class="nb">set</span> <span class="m">2</span>, code 0x6c on isa0060/serio0<span class="o">)</span>.
<span class="o">[</span> <span class="m">3650</span>.281443<span class="o">]</span> atkbd serio0: Use <span class="s1">'setkeycodes 6c <keycode>'</span> to make it known.
</pre></div>
</div>
<p>Тут же нам подсказывают что надо задать <code class="docutils literal"><span class="pre">keycode</span></code> этой кнопке.</p>
<p>3 - ищем свободный код командой <code class="docutils literal"><span class="pre">getkeycodes|grep</span> <span class="pre"><код></span></code>, например: <code class="docutils literal"><span class="pre">getkeycodes|grep</span> <span class="pre">220</span></code></p>
<p>Если вывода не последовало то код свободен</p>
<div class="line-block">
<div class="line">4 - назначаем код кнопке, в файле <code class="docutils literal"><span class="pre">/etc/rc.local</span></code> пишем <code class="docutils literal"><span class="pre">exec</span> <span class="pre">sudo</span> <span class="pre">setkeycodes</span> <span class="pre">6c</span> <span class="pre">220</span> <span class="pre">&</span></code></div>
<div class="line">5 - рестартимся или выполняем <code class="docutils literal"><span class="pre">setkeycodes</span></code> вручную, запускаем <code class="docutils literal"><span class="pre">xev</span></code> и нажимаем кнопку поворота, должны появится надписи</div>
</div>
<p>Дальше я привязал кнопку к действию при помощи <code class="docutils literal"><span class="pre">xbindkeys</span></code> (<code class="docutils literal"><span class="pre">apt-get</span> <span class="pre">install</span>
<span class="pre">xbindkeys</span></code>):</p>
<div class="line-block">
<div class="line">1 - создаем <code class="docutils literal"><span class="pre">~/.xbindkeysrc</span></code></div>
<div class="line">2 - вызываем <code class="docutils literal"><span class="pre">xbindkeys</span> <span class="pre">-k</span></code></div>
<div class="line">3 - нажимаем кнопку и копируем вывод</div>
<div class="line">4 - записываем в <code class="docutils literal"><span class="pre">xbindkeysrc</span></code>:</div>
</div>
<br/><div class="highlight-bash"><div class="highlight"><pre><span></span><span class="s2">"think-rotate"</span>
m:0x10 + c:224
</pre></div>
</div>
<p>Выполняем <code class="docutils literal"><span class="pre">xbindkeys</span></code> и вуаля!</p>
<div class="line-block">
<div class="line"><code class="docutils literal"><span class="pre">think-rotate</span></code> это скрипт поворота экрана из директории <code class="docutils literal"><span class="pre">/usr/bin/</span></code>.</div>
<div class="line">Сам скрипт я скачал с github’a: <a class="reference external" href="https://github.com/martin-ueding/think-rotate">https://github.com/martin-ueding/think-rotate</a></div>
</div>
<br/><div class="line-block">
<div class="line">P.S.: Если вдруг у Вас не завелись другие кнопки то можно по аналогии привязать к ним скрипты от сюда:</div>
<div class="line">1 - <a class="reference external" href="http://www.debian-fr.org/x220-install-configuration-t36152.html#p364748">http://www.debian-fr.org/x220-install-configuration-t36152.html#p364748</a></div>
<div class="line">2 - <a class="reference external" href="https://github.com/aconbere/thinkpad-x201-acpi-scripts">https://github.com/aconbere/thinkpad-x201-acpi-scripts</a></div>
</div>
<br/><div class="line-block">
<div class="line">UPD: вот еще нашел хорошую инструкцию <a class="reference external" href="http://kubuntu.ru/book/export/html/3491">http://kubuntu.ru/book/export/html/3491</a></div>
<div class="line">UPDUPD: Если кому то нужна кнопка посередине на экране то код <code class="docutils literal"><span class="pre">0x67</span></code></div>
<div class="line">UPDUPDUPD: Кнопка может быть привязана через <code class="docutils literal"><span class="pre">acpi</span></code> поэтому неплохо бы еще вначале проверить <code class="docutils literal"><span class="pre">acpi_listen</span></code> и если гут, то все таки сделать через <code class="docutils literal"><span class="pre">acpi</span></code>.</div>
</div>
</div>
ThinkPad TrackPoint настройка в Linux
http://uralbash.ru/articles/2011/thinkpad_trackpoint/
2011-10-17T23:22:00Z
2011-10-17T23:22:00Z
Uralbash
<div class="section" id="thinkpad-trackpoint-linux">
<p>Вообще всю информацию по настройке <a class="reference external" href="https://ru.wikipedia.org/wiki/Тензометрический_джойстик">trackpoint</a> можно взять здесь: <a class="reference external" href="http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint">How to
configure the TrackPoint</a></p>
<p>Но для ленивых ниже скрипт для автозагрузки:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span><span class="ch">#!/bin/sh</span>
xinput list <span class="p">|</span> sed -ne <span class="s1">'s/^[^ ][^V].*id=\([0-9]*\).*/\1/p'</span> <span class="p">|</span> <span class="k">while</span> <span class="nb">read</span> id
<span class="k">do</span>
<span class="k">case</span> <span class="sb">`</span>xinput list-props <span class="nv">$id</span><span class="sb">`</span> in
*<span class="s2">"Middle Button Emulation"</span>*<span class="o">)</span>
xinput set-int-prop <span class="nv">$id</span> <span class="s2">"Evdev Wheel Emulation"</span> <span class="m">8</span> <span class="m">1</span>
xinput set-int-prop <span class="nv">$id</span> <span class="s2">"Evdev Wheel Emulation Button"</span> <span class="m">8</span> <span class="m">2</span>
xinput set-int-prop <span class="nv">$id</span> <span class="s2">"Evdev Wheel Emulation Timeout"</span> <span class="m">8</span> <span class="m">200</span>
xinput set-int-prop <span class="nv">$id</span> <span class="s2">"Evdev Wheel Emulation Axes"</span> <span class="m">8</span> <span class="m">6</span> <span class="m">7</span> <span class="m">4</span> <span class="m">5</span>
xinput set-int-prop <span class="nv">$id</span> <span class="s2">"Evdev Middle Button Emulation"</span> <span class="m">8</span> <span class="m">1</span>
xinput set-int-prop <span class="nv">$id</span> <span class="s2">"Evdev Middle Button Timeout"</span> <span class="m">8</span> <span class="m">50</span>
<span class="p">;;</span>
<span class="k">esac</span>
<span class="k">done</span>
<span class="c1"># disable middle button</span>
<span class="c1">#xmodmap -e "pointer = 1 9 3 4 5 6 7 8 2"</span>
</pre></div>
</div>
</div>