evdev конфиг для трекбола Logitech cordless tracman

Спустя 2 года мне надо надоело пользоваться Logitech marble mouse и я прикупил себе сразу 2 (домой и на работу) модных трекбола Logitech cordless trackman.

logitech cordless trackman

К сожалению выбор трекболов в нашем суровом мире крайне невелик и мне пришлось взять этот хоть и хороший, но беспроводной трекбол. Если с марблом мне казалось плохим то что если сильно крутануть шарик и курсор начинал залипать — так тут еще хуже. Непонятно — стоит то оно в два раза дороже. Еще оно радио и поэтому играть с ним невозможно, ощущение как будто com-мышь которая лагает. Во всяком случае я сейчас так думаю, но потом может поднастрою (тогда я обновлю конфиг).

Как мне кажется очень неудобно расположен скролл — я планирую им не пользоваться. И это очень обидно потому что нажимать на него крайне охренительно — средняя кнопка реализована на 5.

Рука сразу же начала паниковать от непривычного положения, но оно значительно эргономичнее чем старое. Еще и из минусов то что шарик теперь надо вращать иначе: раньше он был как бы вдоль руки вверх/вниз, а перпендикулярно — влево/вправо. Теперь же оси сместились на 35-40 градусов вправо. Хотя к этому вроде достаточно быстро привыкаешь.

Непонятно насколько хватит батареек, но из-за того что трекбол 2008 года приемник у него дико здоровый. Сам трекбол собран крайне хорошо и очень приятен на ощупь, а шарик на 10-15% больше чем в марбле.

В конфиге я изменил поведение двух кнопок: хождение по истории вперед/назад мне не нужно. поэтому на дальнюю кнопку под большим пальцем я повесил среднюю, а на ближнюю модификатор режима скролла. Так же пришлось поиграть с чувствительностью (сенсом), но пока оптимальное значение не подобрал.

Ну и сам конфиг (создать файл и в него поместить следущее):

$ cat /etc/X11/xorg.conf.d/50-logitech_cordless_trackman.conf

Section "InputClass"
	Identifier  "Logitech, Inc. Cordless Tracball"
	#MatchProduct "Logitech, Inc. Cordless Tracball"
	MatchProduct "Logitech USB Receiver"
	MatchIsPointer "on"
	MatchDevicePath "/dev/input/event*"
	Driver "evdev"

	Option "ButtonMapping" "1 2 3 4 5 6 7 8 2 10 11 12"
	Option "EmulateWheel" "true"
	Option "EmulateWheelButton" "8"
	Option "YAxisMapping" "4 5"
	Option "XAxisMapping" "6 7"
	Option "Emulate3Buttons" "false"

	Option "AccelerationNumerator" "8"
	Option "AccelerationThreshold" "6"
EndSection

2011.06.22 23:31

evdev конфиг для трекбола Logitech marble mouse

Существует такой чудный трекбол как logitech marble mouse. Он достаточно эргономичен и с ним у меня перестало болеть запятье. И несмотрят на заверения о том что трекболы не предназначены для игр у меня достаточно неплохо получается раздавать в warsow.

logitech marble

Для того чтобы в иксах с удобством им пользоваться надо создать специальный конфиг и вставить в него следущее:

$ cat /etc/X11/xorg.conf.d/50-logitech_marble.conf

Section "InputClass"
	Identifier  "Marble Mouse"
	MatchProduct "Logitech USB Trackball"
	MatchIsPointer "on"
	MatchDevicePath "/dev/input/event*"
	Driver "evdev"

	Option "ButtonMapping" "1 8 3 4 5 6 7 2 8 9"
	Option "EmulateWheel" "true
	Option "EmulateWheelButton" "9
	Option "YAxisMapping" "4 5
	Option "XAxisMapping" "6 7
	Option "Emulate3Buttons" "false"
EndSection

У этого трекбола нет скролла и сразу меня это сильно пугало. В винде я так и не смог прикрутить к нему человеческий скролл, а в линуксе же это получилось буквально с двух строк в конфиге.

В данной конфигурации большие кнопки отвечают за левую и правую, левая маленькая за третью, а вот если зажать правую маленькую кнопку то трекбол переключается в режим скролла и шариком можно перемещаться по экрану. В браузере удобно, в гимпе крайне удобно. Рекомендую.

2011.06.22 23:12

Про несделанное.

Сегодня я первый раз в жизни пожалел что что-то не сделал. Причем не сделал аж две вещи и обе несложные. За последние полгода картина мира в моей голове серъезно пошатнулась и сдвинулась, буду пытаться её описать в данном конкретном уютном бложике. Если получится то даже опубликую ^_^”

Но делать всякое надо сразу же как прийдёт в голову.

2011.06.17 18:47

Удаление восьмерки и шишки с обода в домашних условиях.

Если на велосипеде ездить не затормаживая перед каждым препятствием то со временем на ободе появляются восьмерки. Если у вас дисковые тормоза, то восьмерки совершенно не мешают жить (пока колесо прокручивается конечно же), а вот если клещи — уже проблема. Шишки же мешают жить всем — колесо неприятно подпрыгивает и вселяет панику.

Для того чтобы избавиться от этих неприятностей лучше всего отнести обод в ближайшую проверенную веломастерскую (список мастерских минска) ибо у них там и люди которые правят ободы миллионами штук в день, и модная штука под название тензометр (позволяет натянуть все спицы с одинаковым усилием), и нормальный человеческий станок для правки обода:

Но все же если есть желание кататься не только по городу то надо научиться исправлять дефекты обода самостоятельно необходимо ибо без этого можно очень долго в лесу искать веломастерскую. Для того чтобы научиться портить обода в домашних условиях понадобится всего несколько вещей: спицевой ключ (купил за 4 доллара), линейка сантиметров на 10 и 2 стяжки. Последних три штуки собрать в следущую конструкцию:

На фотографии фидно что обод в данном месте отклонился вправо. В местах где его можно условно считать ровным он находится на шкале 57-58мм, а тут аж на 60 (было значительно хуже). Также прокручивая колесо можно понять где на ободе шишка и убрать её.

Ремонт, если верить интернетам, производится просто: если шишка, то все спицы в сегменте шишки потихоньку равномерно поджимать, по краям слабее чем в центре. Если восьмерка — со стороны куда восьмерка потихоньку отпускать, а с противоположной поджимать на столько же. Опять же в центре сильнее чем по краям.

Качество после такого ремонта, конечно, не идеальное. У меня вот осталась восьмерка в миллиметр и шишка в полтора. Но меня такой результат более чем устроил. Правда велосипед продолжает подбрасывать постоянно — это потому что камера очено плохая и её местами раздуло. Надо покупать новую. Или даже две.

2011.06.12 20:14

Убунта доставляет

Вот это я понимаю — образец user-friendly системы:

Нажал я на это details исключительно из любопытства минут через 10 ожидания и получил прекрасное:

А ведь мог бы и дальше ждать.

2011.06.10 19:21

Downgrade package in ubuntu

Случилось страшное — поставил перл версии посвежее чем был в репозиториях. Страшное не то слово потому что сделать нормальный человеческий даунгрейд через дружественный пользователю синаптик не получается, а через консоль надо бы узнать версию пакета которую ставить. Не знаю где в этих ваших убунтах посмотреть список всех доступных пакетов и поэтому я поискал на сайте убунту. После чего в консоли надо запустить:
apt-get install perl=5.10.1-12ubuntu2.1 perl-base=5.10.1-12ubuntu2.1 perl-modules=5.10.1-12ubuntu2.1

2011.06.10 14:21

Обновление убунты

Чтобы обновить убунту надо сделать несколько магических действий:
Делаем cat /etc/issue и смотрим название своего релиза. Потом смотрим историю релизов убунты и выбираем следущий после своего. Открываем файл с репозиториями
sudo vim /etc/apt/sources.list
И меняем название текущего релиза на следущий
:%s/current-release/next-release/g<CR>ZZ
Сохранив запускаем собственно обновление.
sudo apt-get update
sudo apt-get dist-upgrade

Со всем соглашаемся и через пару часов убунта уже новой версии :).

2011.06.10 14:16

Vim & Emacs

В очередной раз натолкнулся на обилие свежих плагинов для вима. Ну, в смысле, свежих нет. Похоже прийдется таки перейти на емакс.

2 года под вимом достаточный срок чтобы переходить на емакс и сравнивать как мне кажется.

2011.06.09 13:52

Gentoo и прилинкованные библиотеки.

Генту хорошая игрушка, но из-за постоянных перекомпиляций нет нет да и случается что llibtool начинает путаться и делать ерунду разбрасывая по системе кучу .la файлов не уведомляя об этом ну уж вообще всё. Из-за этого переодически программы прекращают запускаться говоря что-нибудь на подобие:
libtool: link: `/usr/lib/libGL.la' is not a valid libtool archive

И несмотря на то что некий Жорж Мануэль Б. С. Вичетто хотел это започинить — проблема переодически всплывает. И тут на помощь приходит магия спасения:
emerge -1 lafilefixer && lafilefixer --justfixit && emerge -C lafilefixer

И все снова начинает работать.

2011.06.01 08:30

Про линукс

* Once you've finished running revdep-rebuild, it should be safe to
* delete the old libraries. Here is a copy & paste for the lazy:
* # rm '/usr/lib/liblzma.so.0'

Ну разве после таких сообщений линукс можно не любить?

2011.05.08 18:37

Ограничение скорости emerge

Если хочется чтобы emerge -f world не съедал весь канал, то, если верить интернетам, надо в /etc/make.conf добавить:

# Using wget, ratelimiting downloads
FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=15k \${URI} -P \${DISTDIR}/\${FILE}"
RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=15k \${URI} -P \${DISTDIR}/\${FILE}"

2011.05.08 15:33

Старый винт

Запустил через badblocks -n -v /dev/sdc проверку старого винта на беды и он сказал мне: Pass completed, 141101592 bad blocks found.

Вовремя я прикупил новый :)

2011.04.13 23:24

Фейсбук, iframe и дебильные браузеры

Чтобы на фэйсбуке сделать приложение можно воспользоваться встраевым фреймов. Вещь хорошая, но как оказалось из пяти браузеров два проблемы дураки: ie и safari не разрешают пользоваться куками в ифрейме. То есть ли в ифрейме будет редирект, то новый инстэнс этой страницы ничего не узнает про куки.

Для ie есть решение, достаточно просто выдавать специальный хедер:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT CURa ADMa PHY ONL COM STA"');

Для сафари же решения это проблемы нет: гугл подсказал какой-то дикий анальный геморой с динамическим созданием формы и отсыланием её на сервер. Ну его к черту с таким адом сталкиваться.

Я решил это невероятным костылем: для сафари и ие (я не использовал хедеры, а обошелся одним решением для этих двух неполноценных браузеров) я дублирую куки в сессию, а SID и передаю через get-параметр.

Решение некрасивое, но быстрореализуемое.

Оптимальным же решением будет использование ajax, но в том приложении которое я правил это заложено не было.

2011.01.14 14:29

Про велосипед

Месяца два назад я заимел отличную травму колена и выпал из жизни совершенно: себя то жалко. А сегодня впервые за долгое время немного покатался на велосипеде. По пунктам:

1. Надо обязательно купить щитки, ибо погоды уже не те и вся спина в грязи моментально.
2. Суппорты на колени от конторы Orlett делают своё дело как надо — кататься совершенно ненапряжно.
3. Ездить с фонариком значительно лучше чем без, но надо еще придумать как его закрепить прямо около выноса: руль там сильно толстый и крепленя не хватает.
4. Собственно, совершенно нехолодно, но перчатки с пальцами купить не помешает.
5. Подлый левый шатун, похоже, ненавязчиво добивает вторую каретку. Надо купить сразу и каретку, и шатуны.

Надо снова начинать потихоньку кататься и попробовать съездить до работы и обратно: надо узнать насколько это сложно для колена. Может даже начинать ездить на работу на велосипеде (конечно же, погоды лучше я найти не мог).

Вот и всё. Велосипед это прекрасно, а роликов с моим коленом мне до весны не видать точно.

2010.11.09 00:26

Превращение секунд в нужный формат

У менять есть колличество секунд, а мне понадобилось превратить их в строку виде 00:14:12, то есть, например, если есть есть 14 секунд, то должно получиться 00:00:14, а если 72, то 00:01:12.

Совершенно несложно и в интернетах есть даже большие и красивые функции для этого, но зачем если есть функция date() которая может преобразоваться в нужный формат обычный timestamp. А timestamp в свою очередь это колличество секунд с начала эпохи UNIX, то есть если я её обману и скажу что прошло 14 секунд то date() ничего не должна заподозрить.

Но выполнив
< ?php echo date('H:i:s', 14); ?>
я получил непонятный ответ: 02:00:14. Это все потому что date() выдает локальное время поэтому писать надо:
< ?php echo gmdate('H:i:s', 14); ?>
Как мне сказали в комментариях, а не менять временную зону как идиот.

2010.09.13 12:58