Тег «железо»

Logitech MX Revolution и Linux: как достичь счастья

Беспроводную красавицу мне подарили на день рождения. Она была приятна на ощупь, обладала потрясающей функциональностью и комфортом, долго держала заряд. Но, как это нередко случается с красавицами, обладала скверным характером, и до ее сердца достучаться было непросто.

Тогда основной моей осью была Windows 2003 Server. Удобная и надежная система, под которую драйверы и серьезные программы отказывались ставиться буквально через одного. Мол, у вас серверная ОС, мы вас боимся. Вдруг к нам придет ваш бородатый админ и будет ругаться? И вообще, купите лучше серверную версию нашего продукта втрое дороже. Или поставьте XP. Или пойдите еще куда-нибудь. Запуск установщика в режиме эмуляции XP иногда помогал, но чаще — нет. Это несколько напрягало, но обычно нужным программам находились альтернативы. С драйверами сложнее.

Вот и когда я распаковал шедевр коробочного искусства и извлек оттуда пресловутый космический девайс, со всей остротой встал вопрос — как заставить работать все эти 11 кнопок и 1 колесико? Фирменный SetPoint, увидев серверную винду, прикинулся шлангом, и припарки не помогли. Альтернатив этому поделию не предусмотрено. Впрочем, со временем я эту проблему решил (если кому будет интересно, расскажу как).

Затем я перешел на Linux. Собственно, я и не ожидал, что моя MX Revo будет нормально там работать. Две кнопки и колесико — что еще нужно настоящему программисту? Но Fedora 10 далеко превзошла мои ожидания, автоматически и правильно опознав 8 кнопок из 11. Единственное, что меня расстраивало — невозможность использовать вместо нажатия на центральное колесико нажатие на боковое псевдо-колесико (нажатие на центральное колесико у меня меняет режим вращения). Удобно, знаете ли, ссылки в Firefox открывать и вкладки закрывать.

Итак, я хотел, чтобы нажатие на боковое колесико имело тот же эффект, что и нажатие на вторую кнопку мыши (основное колесико у большинства смертных). После вознесения правильной молитвы Гуглу, нашлось решение. Подробно описывать не буду — там и так все понятно. Решение прекрасное, но у него есть один недостаток — оно не работает. Точнее, в моем случае не работает.

С помощью xbindkeys, действительно, можно сопоставить команде оболочки некоторые нажатия мышиных и клавиатурных кнопок. Осталась самая малость — соответствующей командой оболочки сэмулировать нажатие второй кнопки мыши. Если верить документации на xvkbd, то это можно сделать так:

#~/.xbindkeysrc
"/usr/bin/xvkbd -xsendevent -text "\m2""
b:17

Проблема в том, что xvkbd не желает эмулировать мышиные клики. Что ж, незаменимых у нас нет. После непродолжительных поисков нахожу xdotool. Проверяю вручную, набрав в консоли:

xdotool click 2

Действительно, нажатие второй кнопки происходит. Теперь меняем ~/.xbindkeysrc:

#~/.xbindkeysrc
"~/bin/xdotool click 2"
b:17

Запустив xbindkeys в режиме отладки (ключ -v), вижу, что при нажатии на 17-ю кнопку (то самое псевдоколесико) действительно происходит эмуляция нажатия на 2-ю. Но видимого эффекта почему-то нет. Мистика. Подумав немного, решаю, что xdotool конфликтует c xbindkeys. Решение очевидно: разнести их по времени.

#~/.xbindkeysrc
"sleep 0.15; ~/bin/xdotool click 2"
b:17

Работает! Величина задержки подбирается экспериментально. У меня при 0.1 все еще есть конфликт, а при 0.15 — работает. Такая маленькая задержка практически не заметна, и неудобств не доставляет.

Ну, а как сменить кнопку, по которой переключается режим работы колесика, давно уже написали на Хабре.

УжасноПлохоНормальноХорошоОтлично (1 голосов, средний: 5.00 из 5)
Loading ... Loading ...

Как не надо ремонтировать жесткий диск

История со мной произошла пренеприятнейшая, но со счастливым концом и мощным назидательным содержанием.

Есть такие люди, которые идут-идут своей тропинкой, посматривают по сторонам, и вдруг — бац! Наступают на грабли. Другие заранее замечают разложенный на дороге коварный садовый инвентарь, и обходят опасное место кустиками. Мой случай более интересен — я наступил в метафорическую кучу дерьма. И вместо того, чтобы обтереть ботинок листиком, я поперся в бурелом на поиски крана с водой, и уже там наступил на свои грабли. Причем несколько раз.

Кого интересовала философская сторона вопроса, могут дальше не читать. А я все же приведу немного подробностей.

Компьютер внезапно перестал грузиться. Проходит POST, появляется надпись о попытке загрузить с CD — и тишина. Ни сообщений, ни воплей спикера — ничего. Ну, думаю, первичный загрузчик накрылся. Мелькнула у меня мысль вроде «А с чего бы он вдруг вот так взял и накрылся?», но симптомы были слишком очевидны. Достал с дальней полки установочный диск древней Slackware, загрузился. Смотрю — диск целый, таблица разделов в сохранности, сами разделы монтируются, fsck не ругается. Мистика просто: кто-то взял, и аккуратно так испортил начало MBR.

Ладно, зря что ли я писал свой загрузчик? Нахожу GRUB, командую ему «фас», он послушно пишет первую ступень в MBR. Перезагрузка. Тишина. Повторяем с другими настройками. То же самое. Через 20 минут я начинаю тихо закипать. Скачал Live CD Fedora 10 с ноутбука, может дело в версии GRUB?.. То же самое.

Тут вспоминаю, что вроде бы я делал бэкап первого сектора. Лезу в недра домашнего каталога — вот он, голубчик! Вооружившись dd, лихим кавалерийским наскоком переписываю резервную копию на диск. И когда уже палец опускался на Enter, я вспоминаю, что бэкап-то был от другого диска… Но поздно. Таблица разделов безвозвратно утеряна. Диск превратился в груду бессмысленных секторов.

Но не все потеряно! Есть же gpart — моя последняя надежда! Запускаю его на полное сканирование, вижу как он успешно находит раздел NTFS и со спокойной душой иду спать — работать он будет (по опыту) долго. Утром gpart показывает кашу из незнакомых мне разделов. «Не шмогла». Иду гуглить. Оказывается, есть еще одна подобная утилита – testdisk. Ставлю ее, запускаю сканирование. От силы через две секунды (!) она мне выдает правильный список разделов. Фууф, гора с плеч. Save. GRUB. Перезагрузка. Опять тишина…

Вдумчивый читатель, наверное, уже догадался, чем окончилась моя история. Я наконец-то зашел в настройки BIOS и увидел, что сбился порядок загрузки с носителей. Компьютер все время пытался грузиться с диска, на котором загрузчика просто не было. А от моих манипуляций с другим диском, разумеется, ничего не менялось.

Вот такая история. А мораль простая — надо чаще думать головой.

УжасноПлохоНормальноХорошоОтлично (2 голосов, средний: 5.00 из 5)
Loading ... Loading ...