Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: b2l в Nov 02, 2012, 15:53



Титла: Mouse driver
Публикувано от: b2l в Nov 02, 2012, 15:53
Задача:

Left mouse button:
- Премахване на съществуващата функционалност на бутона.
- При click -> симулация на натискане на PageUp на клавиатура.

Right mouse button:
- Премахване на съществуващата функционалност на бутона.
- При click -> симулация на натискане на PageDown на клавиатура.

Scroll:
- Премахване на функционалност.

Оптично устройство:
- Премахване на функционалност.

Ако може бих желал да го направя на ниво "device driver"
( NOTE: нямам представа дали така трябва да се направи ... и дали има алтернативни начини за това )

Проблеми:
1. Понеже не съм запознат с материята ми трябва някой който е запознат да ми каже колко трудно е това да се реализира.
2. Ако може да се изредят стъпките за направа на това нещо И / ИЛИ да се посочи поне какво прочета, че да мога да го реализирам.


Титла: Re: Mouse hardware hack
Публикувано от: laskov в Nov 02, 2012, 16:19
1. Взимаш една клавиатура и на едно куплунгче и извеждаш жиците на споменатите от теб бутони.
2. Хакваш една мишка като и махаш електрониката и извеждаш двата и бутона така, че като я включиш в клавиатурата от т.1 бутоните и да са паралелно на споменатите бутони от клавиатурата.
3. Черпиш :)


Титла: Re: Mouse hardware hack
Публикувано от: b2l в Nov 02, 2012, 16:23
1. Взимаш една клавиатура и на едно куплунгче и извеждаш жиците на споменатите от теб бутони.
2. Хакваш една мишка като и махаш електрониката и извеждаш двата и бутона така, че като я включиш в клавиатурата от т.1 бутоните и да са паралелно на споменатите бутони от клавиатурата.
3. Черпиш :)

1. Сори ама от клавиатурите отдавна не излизат 102 жици, за всеки бутон по жица. Мисля, че е време да си смениш твоята ;).
2. Почерпан!


Титла: Re: Mouse hardware hack
Публикувано от: laskov в Nov 02, 2012, 16:27
1. Сори ама от клавиатурите отдавна не излизат 102 жици, за всеки бутон по жица. Мисля, че е време да си смениш твоята ;).
2. Почерпан!
Кой каза, че са 102. Всъщност те никога не са били толкова!
Вариант 2:
1. Взимаш една по-голяма мишка. От някоя USB клавиатура вземаш платката с електрониката.
2. Поставяш електрониката от клавиатурата вътре в мишката, нацелваш къде трябва да свържеш бутоните на мишката, така че да съвпадат със споменатите от теб бутони на платката от клавиатурата.
3. Включваш мишката в свободен USB порт и тя се разпознава като клавиатура.
4. Черпиш :)


Титла: Re: Mouse hardware hack
Публикувано от: b2l в Nov 02, 2012, 16:37
Човк, аре да не пиша на Марчето да ти трие малоумните постове. Платки да взимам, да напасвам копчета. Виж си описанието и после виж много добре в коя секция от форума се намираме. И след това, ако си поне малко умен, ще си редактираш постовете.
Не си програмист за това не ми двай глупави идеи как от клавиатура да си направя мишка. НЕ МИ Е ТАКАВА ТЕМАТА!!!

PS: Почерпан.


Титла: Re: Mouse hardware hack
Публикувано от: geroy в Nov 02, 2012, 16:38
ако става въпрос за X то може да ползваш xmodmap


Титла: Re: Mouse hardware hack
Публикувано от: laskov в Nov 02, 2012, 16:39
Човек, темата ти се казва " Mouse hardware hack" . От това по-в_час няма как да съм! :)


Титла: Re: Mouse hardware hack
Публикувано от: b2l в Nov 02, 2012, 16:43
Човек, темата ти се казва " Mouse hardware hack" . От това по-в_час няма как да съм! :)

Ох, извинявай, забравих че си от анонимните...

PS: Пак почерпан.


Титла: Re: Mouse hardware hack
Публикувано от: bop_bop_mara в Nov 02, 2012, 16:45
Оф и вие какво се заядохте... Предлагам ви следното - Ласков прави примерна реализация на предложението си, за да покаже, че става (в интерес на истината, мен ме заинтригува); бектуфайл продължава да търси и софтуерно разрешение на нещата (даже виждам, че вече са му писали).

ПС. И после и двамата черпите мен, щото съм добричка и ви харесвам и двамата.  8) [_]3


Титла: Re: Mouse driver
Публикувано от: netgraph в Nov 02, 2012, 16:46
https://wiki.archlinux.org/index.php/All_Mouse_Buttons_Working#Binding_keyboard_to_mouse_buttons
Работи и по обратен път :-) xdotool + xbindkeys също става за по интересни резултати.


Титла: Re: Mouse driver
Публикувано от: b2l в Nov 02, 2012, 16:49
А ако не искам да е за X?


Титла: Re: Mouse driver
Публикувано от: runtime в Nov 02, 2012, 16:51
Теоретично това с платчицата от клавиатура наръгана в мишка е добра идея, но трябва да набараш вярната поредица за бутоните от матрицата. Иначе клавиатурата си работи точно на принципа на обикновения бутон.

Примерна матрица има тук: http://joebrown.org.uk/images/ChordProcessor/keymatrix_suggestion_schematic.PNG

Но за конкретните модели би следвало да има разминаване. Но винаги може да го караш на метода на пробата и грешката или да хванеш един мултицет и да проследиш :)


Титла: Re: Mouse driver
Публикувано от: b2l в Nov 02, 2012, 16:52
Тъй, всичките "програмисти" се изредихте да пишете в темата...

Сега остава само go_fire да се намеси и да каже, че Цар Симеон го правил и ще приключим.


Титла: Re: Mouse driver
Публикувано от: Naka в Nov 02, 2012, 16:57
Това с жиците е майтап тъй че не го вземайте насериозно.

А сериозно наистина може да се изкарат по 2 жици за всеки бутон, като се запоят непосредствено на/до контактите на бутона от клавиатурата. Няма значение как се сканират бутоните от самата клавиатура. дали се сканират с 5 или 101 жици. Няма да запояваме на изходите на сканиращите писти, а направо на съответното бутонче.


Титла: Re: Mouse driver
Публикувано от: netgraph в Nov 02, 2012, 17:10
Ами напиши по точна спецификация, ако не искаш да е за X - прочети man страницата
на gpm и ще видиш решението. А ако искаш да си напишеш програмка, която да го прави
не виждам смисъл да е в ядрото (освен ако не искаш като упражнение), разгледай кода
на gpm и виж какво/как чете и си напиши 1 малко демонче.

GPM:
Код:
git clone git://git.schottelius.org/gpm


Титла: Re: Mouse driver
Публикувано от: b2l в Nov 02, 2012, 18:26
Ами напиши по точна спецификация, ако не искаш да е за X - прочети man страницата
на gpm и ще видиш решението. А ако искаш да си напишеш програмка, която да го прави
не виждам смисъл да е в ядрото (освен ако не искаш като упражнение), разгледай кода
на gpm и виж какво/как чете и си напиши 1 малко демонче.

GPM:
Код:
git clone git://git.schottelius.org/gpm

Спецификация на кое, на мишката ли? Delux - цена 5 лв. Аз мисля, че трябва да е драйвър, който да override-не този, който се инсталира първоначално.


Титла: Re: Mouse driver
Публикувано от: netgraph в Nov 02, 2012, 18:38
Спецификация за проблема имах предвид, но сега видях, че от начало още искаш да е
kernel модул  :) На кратко drivers/input/input.c. А самата реализация вече може по много
начини да се направи, най - лесния според мен е да редактираш input модула, който се
използва за устройството и да се възползваш от input_inject_event() и другите експортнати
функции от input.

Успех


Титла: Re: Mouse driver
Публикувано от: b2l в Nov 02, 2012, 18:39
@GytOS благодаря :).


Титла: Re: Mouse driver
Публикувано от: zxz в Nov 03, 2012, 12:00
Тва последното за оптичното устроиство се прави най-лесно  ;D ;D.Взимаш едно тиксо и го лепиш отдолу. Мале колко смях имаше тогава като го правихме ;D :D


Титла: Re: Mouse driver
Публикувано от: Mitaka в Nov 03, 2012, 12:34
Да направиш това чисто хартуерно е много по-лесно, по-бързо, и по-иконимически изгодно от редактирането на драйвери, още повече - при положение, че не знаеш кое и как да редактираш.
Ако си имаш дори бегла представа от електроника (то даже и не е много електроника, ама айде), просто ще отвориш мишката, ще разпоиш светодиода или фородиода, ще махнеш чисто хардуерно скрола и толкова. Относно PgUp PgDown вече ти дадоха идея - трябва да направиш точно 3 спойки в клавиатурата, и толкова. Дори може да се използва кабела на мишката за целта :)

Друг вариант е да прежаиш 10 лева, и да си кушиш от онези малки клавиатурки, които са само един numpad. Има варианти и с търсените от теб бутони.


Титла: Re: Mouse driver
Публикувано от: go_fire в Nov 03, 2012, 13:21
А аз не мо'а са обаждам в тая тема, оти не разбирам ни от погроми на нещо различно от трите пъта, нито па от електроника, таме и новородено пеленаче не съм.

Симката к'ви ги е вършил не 'нам. Май повечето време се е занимавал да троши гръцки кратуни и да гори черкви в Константинопол.  Ама виж в пирамидите са откривани следи от примитивна електротехника, по-конкретно лампи и режещи инструменти. А във Вавилон е открита батерия от един волт и нещо като крушка (или може би електрическо огледало) към нея. Ако нещо от това ще помогне на проекта ти по мишката, мога да се потрудя да извадя връзки  ^-^


Титла: Re: Mouse driver
Публикувано от: b2l в Nov 03, 2012, 13:32
Да направиш това чисто хартуерно е много по-лесно, по-бързо, и по-иконимически изгодно от редактирането на драйвери, още повече - при положение, че не знаеш кое и как да редактираш.
Ако си имаш дори бегла представа от електроника (то даже и не е много електроника, ама айде), просто ще отвориш мишката, ще разпоиш светодиода или фородиода, ще махнеш чисто хардуерно скрола и толкова. Относно PgUp PgDown вече ти дадоха идея - трябва да направиш точно 3 спойки в клавиатурата, и толкова. Дори може да се използва кабела на мишката за целта :)

Друг вариант е да прежаиш 10 лева, и да си кушиш от онези малки клавиатурки, които са само един numpad. Има варианти и с търсените от теб бутони.

Абе искам като си легна и почна да чета pdf да си сменям страниците с мишката. 'ко ми говорите да запоявам и да разпоявам.

Гошо, давай ги тия линкове, че следващата задача е да си направя базука.


Титла: Re: Mouse driver
Публикувано от: zxz в Nov 03, 2012, 14:05
Стига глупости ето малко инфо.
http://linux.die.net/man/4/mouse-driver
http://www.linux-mag.com/id/330/
http://www.compsoc.man.ac.uk/~moz/kernelnewbies/documents/kdoc/mousedrivers/driver.html
http://www.gdargaud.net/Hack/LinuxMouse.html


Титла: Re: Mouse driver
Публикувано от: backinblack в Nov 04, 2012, 01:20
Френд, на мен ми намирисва, че шефовете са те натоварили да ограничиш юзвергите, но те ако са качествени, ще си впрегнат енергията да се борят с теб, а не със задачите за които са назначени и ще се завъртите(ти и те, а не шефовете и те) в един безкраен кръговрат, и поради тази причина, решението което търсиш, дори и да го намериш, ще е безсмиселнно!


Титла: Re: Mouse driver
Публикувано от: b2l в Nov 04, 2012, 08:38
Френд, на мен ми намирисва, че шефовете са те натоварили да ограничиш юзвергите, но те ако са качествени, ще си впрегнат енергията да се борят с теб, а не със задачите за които са назначени и ще се завъртите(ти и те, а не шефовете и те) в един безкраен кръговрат, и поради тази причина, решението което търсиш, дори и да го намериш, ще е безсмиселнно!

Добре, хванахте ме. Имам фабрика за USB мишки и сега трябва да си пиша сам драйвърите за тях. Хора въпросът е зададен точно и ясно, вие го обърнахте на запояване и разпояване на жици, вкарване на клавиатура в мишка и т.н.
Целта на заданието е образователна и също така е написването на custom mouse driver.
Още някой не разбрал?


Титла: Re: Mouse driver
Публикувано от: Acho в Nov 04, 2012, 08:39
/off

Хахахахаааааааааааа едър фабрикант.


Титла: Re: Mouse driver
Публикувано от: dev_urandom в Nov 04, 2012, 08:56
http://www.linuxjournal.com/article/1136


Титла: Re: Mouse driver
Публикувано от: nyakoy в Nov 04, 2012, 10:38
http://www.logitech.com/en-us/mice-pointers/mice/gaming-mouse-g300
http://www.trust.com/products/productpictures.aspx?artnr=16344

Предполагам, че има и евтинки китайски нещица по темата. За едното лежане+четене може да не си струва инвестицията.

Аз пък си мечтая на това:  http://www.sitecom.com/tv-media-player/md-270/p/759
да му добавят функция на четец и да си чета на голям екран легнал и да сменям страниците с дистанционното, ама надали. От 2 години не са пипали фърма и така ще си умре.


Титла: Re: Mouse driver
Публикувано от: b2l в Nov 04, 2012, 12:20
@nyakoy ама моето момче, пусни си темичка си мечтай там за тези дрънкулки. Едно време, за такива като теб имаше форум от рода на розали.ком (или там както се казва).
Тази мишка, която си показал тук си има диод и свети и дори не се доближава до заданието на темата.


Титла: Re: Mouse driver
Публикувано от: nyakoy в Nov 04, 2012, 13:26
Много си се озверил нещо, но това си е твой проблем. Диода дето свети може да се елиминира по различни хардуерни начини, но ако си толкова вързан в ръцете, че да не можеш,  също си е твой проблем. Заданието ти включва "Ако мога ...ниво драйвер" не изключва хардуерни решения, а ти им скачаш на нож, макар че в случая са много по-лесни и бързи. Ако номера е да покажеш колко си велик и можеш да го направиш софтуерно е друг въпрос. Така че питането ти не е коректно, а иначе скачате на новите във форума, че питали неточно. И последно, не наричай момче някой който може и да ти е батко или връстник. Айде със здраве и като успееш да споделиш тук!


Титла: Re: Mouse driver
Публикувано от: Mitaka в Nov 04, 2012, 13:27
Този тип мишки имат чисто хардуерни програмируеми бутони - нещо като някои клавиатури, дето са със "специални" бутони, и можеш да си нагласиш кой бутон какво да прави...
Това, че хората се опитват да ти помогнат със съвет, а ти ги нападаш (не за пръв път в темата) не говори никак добре за теб. Осъзнай се, и си овладей самочувствието.


Титла: Re: Mouse driver
Публикувано от: b2l в Nov 04, 2012, 15:37
@никой, гледай сега пич. Ако не разбрал се намираш в секцията "Програмиране" - не в Хардуерни проблеми. До сега решенията, които "скъпите" съфорумници предлагат не са по темата. Твоето също не е. Митака пък ми говори за програмируеми копчета на мишка - абе човек, прочети пак 1-вия пост.
Май проблема е че трябваше с червени, големи букви font = 200 да напиша: НЕ ИСКАМ ДА СМЕНЯМ МИШКАТА С ДРУГА, ИСКАМ ДА РАЗБЕРА КАК СЕ ПИШЕ ДРАЙВЪР ЗА НЕЯ!


Титла: Re: Mouse driver
Публикувано от: runtime в Nov 04, 2012, 17:08
По-скоро не трябваше  в началото да подвеждаш хората с "хардуерен мод" и от там на сетне тръгна така с тая прословута мишка :)
В крайна сметка намери ли си начин?


Титла: Re: Mouse driver
Публикувано от: remotex в Nov 04, 2012, 17:11
http://www.lirc.org/html/configure.html


Титла: Re: Mouse driver
Публикувано от: b2l в Nov 04, 2012, 17:16
По-скоро не трябваше  в началото да подвеждаш хората с "хардуерен мод" и от там на сетне тръгна така с тая прословута мишка :)
В крайна сметка намери ли си начин?

Признавам, сбърках заглавието в началото, но на 4-5-ти пост го смених, защото се усетих че повечето ще ми говорят за кабели и други мишки.

Не човек, никъде не намерих как се пише mouse driver.

@remotex - в IRC ли ме прати бе (rofl)? Ще го разгледам довечера. 10х.


Титла: Re: Mouse driver
Публикувано от: nyakoy в Nov 05, 2012, 09:47
Ами като толкова ти се пише намери някоя мишка , която предлага ъпдейт на фърмуера или начин да свалиш този на твойта мишка, пренапиши го и задай каквито искаш функционалности , после флашни и си  готов даже на по-ниско ниво от драйвер.


Титла: Re: Mouse driver
Публикувано от: b2l в Nov 05, 2012, 09:56
Ами като толкова ти се пише намери някоя мишка , която предлага ъпдейт на фърмуера или начин да свалиш този на твойта мишка, пренапиши го и задай каквито искаш функционалности , после флашни и си  готов даже на по-ниско ниво от драйвер.

Най-накрая някой да ме разбере! Машала. А защо да търся мишка с тези от по 5 лв. не става ли?


Титла: Re: Mouse driver
Публикувано от: geroy в Nov 05, 2012, 10:42
Що не си вземеш направо kinekt ли как се пише там, още по-мързеливо ще сменяш страниците - с махване на ръка :)


Титла: Re: Mouse driver
Публикувано от: b2l в Nov 05, 2012, 10:44
Що не си вземеш направо kinekt ли как се пише там, още по-мързеливо ще сменяш страниците - с махване на ръка :)

Прочети пост №1 и ще разбереш.


Титла: Re: Mouse driver
Публикувано от: nyakoy в Nov 05, 2012, 13:48
То може и да може, може и да не може. Тези от 5 лева не знам дали предлагат възможност за флашване и не знам дали въобще ще намериш файл с фърмуер за такава мишка. Гледам има разни скъпи модели, които предлагат флашване. За евтини не знам. А и сякаш чиповете на повечето мишки са от т.нар. "плюнки" , на които едва ли ще може да им се свали фърма. Та затова на пръв поглед по-достъпно излгежда на скъпите мишки.


Титла: Re: Mouse driver
Публикувано от: kifavi8024 в Nov 05, 2012, 15:52
Вие сте ненормални бре :D
Честно - човека иска динамично remap-ване на mouse бутоните, вие го пратихте да запоява, програмира, заменя и т.н. глупости...

Като не схващате какво пита, поне не му пълнете темата с ненужни неща...

За съжаление нещо не мога да намеря програма за динамично remap-ване.
Иначе за статично - http://wiki.birth-online.de/know-how/software/linux/remapping-mousebuttons

Общо взето ти трябва EventGhost, ама за линукс :D

ПП: Аз ползвам Remote дистанционно, но самата мишка да си я ползвам за навигация в XMBC...
По-скоро това се прави с безжична клавиатура (това го казвам само като съвет) :)
Най-добре дай малко повече подробности - какво ползваш за възпроизвеждане/ОС и т.н. Може да има някакъв add-on/plugin или нещо подобно.


Титла: Re: Mouse driver
Публикувано от: nyakoy в Nov 05, 2012, 16:50
  В пост №1 е употребил 4 пъти думата "премахване". От днес да казваме ли на скопяването "динамично remap-ване на органите за възпроизвеждане" ?   :D 


Титла: Re: Mouse driver
Публикувано от: b2l в Nov 05, 2012, 16:55
  В пост №1 е употребил 4 пъти думата "премахване". От днес да казваме ли на скопяването "динамично remap-ване на органите за възпроизвеждане" ?   :D

Чичка, казвай му както си искаш ;).


Титла: Re: Mouse driver
Публикувано от: kifavi8024 в Nov 05, 2012, 17:21
  В пост №1 е употребил 4 пъти думата "премахване". От днес да казваме ли на скопяването "динамично remap-ване на органите за възпроизвеждане" ?   :D

Добре де - изобщо схвана ли смисъла на задачата?
Той иска да замени функционалността на стандартните бутони, но да има и опция да възстанови стандартните команди на бутоните. Просто го е описал линейно.