logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

V-USB klawiatura multimedialna na AVR - problem z klawiszami multimedialnymi

11111olo 13 Lip 2012 10:03 7550 30
REKLAMA
  • #1 11100612
    11111olo
    Poziom 42  
    Witam.
    Chcę zrobić klawiaturę multimedialną na AVR-ku jednak nie za bardzo chce to działać.
    O ile "udawanie" zwykłej klawiatury działa prawidłowo z dowolną kombinacją klawiszy to już dodatkowe klawisze multimedialne nie chcą działać.

    Nie pisałem wszystko sam tylko korzystałem z gotowych rozwiązań.

    I tak sama klawiatura to HIDKEYS

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Deskryptor HID jest do zwykłej klawiatury. Jak pisałem zmiana klawiszy na inne działa jednak wg znalezionej specyfikacji pod kodami

    Keyboard Mute 07 7F  
    Keyboard Volume Up 07 80 
    Keyboard Volume Dn 07 81


    regulacja głośności nie działa.


    W sieci znalazłem też projekt takiej klawiatury która niby działa ale jakoś nie za bardzo.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    To też nie działa.
    Ktoś może wie czemu?
  • REKLAMA
  • #2 11100761
    tplewa
    Poziom 39  
    tzn. jak nie dziala :) sciagnij sobie na PC jakis programik w stylu USBTrace (http://www.sysnucleus.com/) i zobacz czy przesyla prawidlowo dane. Do tego taka klawiatura wymaga osobnego oprogramowania aby obsluzyc dodatkowe klawisze, wiec musisz podszyc sie pod jakies oryginalne rozwiazanie do ktorego jest soft.
  • #4 11100769
    11111olo
    Poziom 42  
    Mam klawiaturę na USB i bez żadnych programików działa ściszanie itd.
    Z USBTrace sprawdzę.
  • #5 11100789
    tplewa
    Poziom 39  
    Zapewne instalowales jakis soft bo nie ma tutaj jakiegos standardu w klawiaturach multimedialnych...

    Zerknij sobie programem jakie masz kody przesylane z oryginalnej i powinno smigac jak postawisz takie same... A co do softu to bardzo fajne narzedzie, warto zainwestowac jak sie duzo kombinuje z USB w wlasnych projektach.
  • #6 11100937
    11111olo
    Poziom 42  
    Z tym "mam" to mnie lekko poniosło ale kiedyś miałem przez chwilę taką na USB bezprzewodową i tam na pewno działała głośność i inne multimedialne klawisze bez dodatkowych sterowników.

    Sprawdziłem w USB Trace i wysyłają się właściwe kody ale mimo to nie ma reakcji ze strony komputera i nie wiem czemu :/
  • #7 11100970
    LordBlick
    VIP Zasłużony dla elektroda
    11111olo napisał:
    wysyłają się właściwe kody ale mimo to nie ma reakcji ze strony komputera i nie wiem czemu :/
    tplewa napisał:
    Do tego taka klawiatura wymaga osobnego oprogramowania aby obsluzyc dodatkowe klawisze, wiec musisz podszyc sie pod jakies oryginalne rozwiazanie do ktorego jest soft.
    Mogę tylko dodać, ze pod Linux jest to kwestia odpowiedniej konfiguracji.
  • #8 11100982
    tplewa
    Poziom 39  
    Tjaa ale to nie Linux - w Linux-e to wiem jak dziala...

    Mam na biurku Logitecha i jest soft do definicji klawiszy (co maja odpalac) i sterownik tez jest Logitecha... Z tym ze dzisiaj raczej nie znajde czasu by przepiac ja na inny komputer - ale jestem raczej pewny ze standardowy sterownik klawiatury 101 klawiszy nie obsluzy dodatkowych funkcji...
  • #9 11100993
    11111olo
    Poziom 42  
    Może problemem jest deskryptor który niewłaściwie definiuje wykorzystanie tych klawiszy. To wszystko jest takie fajne że do końca nie wiem jak to ugryźć.
    Na YT znalazłem film że ktoś zrobił ściszanie, pogłaśnianie i wyciszenie na ANDURINO - to też jakiś AVR tylko że pod UBUNTU.
  • #10 11101054
    miszczo997
    Poziom 28  
    Potwierdzam, że klawisze multimedialne na klawiaturze działają bez instalacji sterowników. Może to kwestia jakie numery vid i pid zgłasza stworzona przez Ciebie klawiatura? Jak powiesz mi jak sprawdzić te numery to podam jakie ma esperanza ek120, która ma 10 klawiszy multimedialnych.
    // Może rozwinę myśl. Podobnie jest w padach na usb. Po podłączeniu system od razu wie czy ma do czynienia z padem, który posiada analogi czy z takim bez. Jak korzystałem z pada który nazywał się usbjoystick(jakiś chińczyk) to nie działały mi analogi, ale jak zmieniłem nazwę w rejestrze na rumblepad2 to wszystko było ok.
  • REKLAMA
  • #11 11101099
    11111olo
    Poziom 42  
    HID\VID_4242&PID_E131\6&386C2A56&1&0000

    Mam też prawdziwą klawiaturę na USB (niestety bez klawiszy multimedialnych) i się przedstawia tak

    HID\VID_04F2&PID_0116\6&20566D98&0&0000


    Miszczo może byś zrobił coś takiego.
    Zainstalował USB TRACE i po naciskał klawisze multimedialne a potem byś napisał jakie kody u Ciebie wyskakują?

    V-USB klawiatura multimedialna na AVR - problem z klawiszami multimedialnymi
  • REKLAMA
  • REKLAMA
  • #13 11101201
    tplewa
    Poziom 39  
    Pad-y to inny temat... ale mozliwe ze w ktoryms ServicePacku dodali sterowniki do takich klawiatur. Jednak tutaj faktycznie bedzie trzeba podszyc sie pod taka klawiature. Ale na 100% kiedys jak mialem w domu trzeba bylo instalowac soft producenta... choc to bylo dawno...

    Dodano po 16 [minuty]:

    tjaaa i znalazlem nawet potwierdzenie tego ze tak bylo:

    https://www.elektroda.pl/rtvforum/topic373683.html

    Jak jest obecnie to nie wiem bo w 99% uzywam laptopow :( a kilka blaszakow w firmie ma podpiete Logitechy i zainstalowany do nich soft Logitecha. Najlepiej jak by ktos sprawdzil taka klawiature na czystym systemie...
  • #15 11101288
    tplewa
    Poziom 39  
    tzn. z SP :) ale bez jakichkolwiek sterownikow dodatkowych :) A podaj jaki sterownik obsluguje twoja klawiature (zakladka Sterwonik pole Dostawca Sterownika) - tam gdzie sprawdzales VID i PID

    A jeszcze widac ze ta klawiatura przedstawia sie jako Creative Labs (VID 062a)... wiec moze do popularnych M$ dodal sterowniki w ktoryms SP.
  • #17 11101461
    kkknc
    Poziom 43  
    Klawiatry MM pod USB działają bez zadnych sterowników. Funkcje zawansowane i skrypty wymagają sterowników.
  • #18 11101479
    tplewa
    Poziom 39  
    kkknc napisał:
    Klawiatry MM pod USB działają bez zadnych sterowników. Funkcje zawansowane i skrypty wymagają sterowników.


    A co rozumiesz przez funkcje zawansowane ? Dodatkowe klawisze multimedialne czy cos innego. Bo owszem kiedys takie klawiatury dzialaly i to jest normalne, ale aby uzyc dodatkowych klawiszy (multimedialnych) potrzebne bylo oprogramowanie. Z tym ze nie wiem jak jest obecnie...
  • #19 11101667
    11111olo
    Poziom 42  
    Specyfikacja HID jest bardzo stara i obejmuje nawet WIN98 - nie wiem czy po tym coś zmieniali ale klawiatura USB działa bez dodatkowych sterowników - trzeba tylko klikać DALEJ (tak to jest w WIN98).

    Miszczo widzę że to są kody zgodne z tym co znalazłem.

    Scan Next Track 0C 00B5  
    Scan Previous Track 0C 00B6 
    Stop 0C 00B7  
    Play/ Pause 0C 00CD 
    Mute 0C 00E2  
    Bass Boost 0C 00E5  
    Loudness 0C 00E7  
    Volume Up 0C 00E9  
    Volume Down 0C 00EA  
    Bass Up 0C 0152 
    Bass Down 0C 0153  
    Treble Up 0C 0154  
    Treble Down 0C 0155  
    Media Select 0C 0183  
    Mail 0C 018A  
    Calculator 0C 0192 
    My Computer 0C 0194 
    WWW Search 0C 0221  
    WWW Home 0C 0223  
    WWW Back 0C 0224  
    WWW Forward 0C 0225  
    WWW Stop 0C 0226  
    WWW Refresh 0C 0227 
    WWW Favorites 0C 022A
  • #21 11104210
    MrMajst3r
    Poziom 22  
    Ja tylko dodam, że mam dosyć rozbudowaną klawiaturę Logitecha
    http://www.logitech.com/en-us/support/keyboards/183

    Bez sterowników (podłączona poprzez PS/2) działają podstawowe funkcje multimedialne (głośniej-ciszej, odtwarzacz muzyczny, hibernacja, następny-poprzedni, play-pause, itp.). A do zaawansowych funkcji (jak na przykład uruchamianie konkretnego programu danym klawiszem, itp.) wymaga już odpowiedniego softu Logitecha.
  • #22 11144678
    maly_elektronik
    Poziom 23  
    Ja pracuje na standardowej klawiaturze na PS/2 jednak pełnej przycisków multimedialnych. Wszystkie ale to wszystkie (sterowanie odtwarzaczem, hibernacja, sterowanie głośnością, kalkulator poczta, komputer, home ....) działają poprawnie zarówno na W$7/XP jaki i na Linuxie (gdzie spędzam 99,9% czasu). I gwarantuje że nie są wymagane żadne sterowniki (ma podobną na usb i działa równie poprawnie, co na Chińską firmę MaxCom jest dość nietypowe)
  • #23 11144711
    11111olo
    Poziom 42  
    Pewnie że działają bo w końcu dobrnąłem i deskryptor jak i całe urządzenie działa.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #24 11191632
    nieobeznany
    Poziom 11  
    11111olo napisał:
    Pewnie że działają bo w końcu dobrnąłem i deskryptor jak i całe urządzenie działa.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Też właśnie robię klawiaturę multimedialną opartą na tym projekcie i mam prośbę, mógłbyś umieścić te fragmenty kodu, które należy jeszcze zmienić, żeby przyciski multimedialne działały?
    Bo domyślam się, że oprócz deskryptora, zmieniłeś jeszcze zmienne, gdzie są zapisane kody do poszczególnych klawiszy, czy jakoś inaczej jest to zrobione?
  • #25 11191722
    11111olo
    Poziom 42  
    To nie jest klawiatura jak sobie wyobrażasz.

    Może inaczej.
    Wysyłasz odpowiednie bajty i to tyle, a jak sobie zrobisz to ze zmiennymi to Twoja sprawa ;)
  • #26 11191912
    nieobeznany
    Poziom 11  
    To że to nie jest zwykła klawiatura to ja wiem, bo na zwykłe klawisze mi działa. Chodzi mi o obsługę tych multimedialnych, bo widzę, że w deskryptorze masz wymienione poszczególne klawisze i chciałem zobaczyć jak masz zrealizowane wysyłanie ich.
    Samego deskryptora nie do końca ogarniam i opieram się tylko na przykładzie klawiatury HIDKEYS.
    Cytat:
    Wysyłasz odpowiednie bajty i to tyle, a jak sobie zrobisz to ze zmiennymi to Twoja sprawa Wink

    To też wiem, ale czy bajty od tych multimedialnych muszą być wysłane jako pierwsze czy może muszą być czymś poprzedzone? Bo o tą kolejność mi chodzi.
  • #27 11192441
    11111olo
    Poziom 42  
    Forma w jakiej to wyślesz jest zdefiniowana w deskryptorze i nie możesz od tak sobie wysyłać tylko w sposób zdefiniowany.
  • #28 11192892
    nieobeznany
    Poziom 11  
    11111olo napisał:
    Forma w jakiej to wyślesz jest zdefiniowana w deskryptorze

    Sam powoli do tego dochodzę, ale tak jak pisałem wcześniej nie do końca ogarniam deskryptor.
    Mógłbyś mi zatem objaśnić na tym konkretnym przykładzie w jakiej formie powinienem to wszystko wysyłać, ew. wkleić fragment twojego kodu odpowiedzialny za wysyłanie, żebym mógł go sobie przeanalizować?
  • #29 11195130
    11111olo
    Poziom 42  
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Wszystko jasne?
  • #30 11197767
    nieobeznany
    Poziom 11  
    Dzięki :D
    Teraz już załapałem czemu mi nie działało wcześniej. Nie wiedziałem, że trzeba wysłać REPORT_ID. Dopracuje jeszcze swój kod i myślę że będzie dobrze.
    Jeszcze raz dzięki.
REKLAMA