Strona 1 z 1

Programowana klawiatura z pokrętłem

: 13 lut 2025, 20:51
autor: tuxcnc
Trafiłem w promocji, to sobie kupiłem https://www.aliexpress.com/item/1005008390457632.html
Teraz się zastanawiam, jak tego można by było użyć...
Tak w skrócie, jest program pod Windows do konfiguracji urządzenia (to nie jest problem że pod Windows, bo klawiaturka będzie pamiętać ustawienia).
Każdemu klawiszowi można przypisać określony kod lub kombinację.
Pokrętło jest traktowane jako trzy klawisze (prawo, lewo, wcisnąć).
Myślałem żeby zrobić z tego taką prostą wędkę, ale nie bardzo wiem jak się do tego zabrać.
O ile w standardowych skrótach klawiaturowych można ustawić aktywną oś, to nie ma skrótu do poruszania aktywną osią...
Ma ktoś jakiś pomysł?

P.S. Żeby coś wymyślić nie trzeba kupować urządzenia, do testów wystarczy zwykła klawiatura.

Re: Programowana klawiatura z pokrętłem

: 13 lut 2025, 23:00
autor: strikexp
Znajomy ma coś takiego tylko że jakieś markowe. Poszczególnymi przyciskami uruchamia różne programy itp, żeby nie szukać myszką na pulpicie. Ma też podpięte kombinacje klawiszy i używa jako rozszerzonej klawiatury klasyczna+dodatkowa.
Pokrętło wydaje się bezsensowne, ale same dodatkowe klawisze są całkiem praktyczne i sam się zastanawiałem nad kupnem czegoś takiego z racji że zarabiam pracą na komputerze przez 8h.

Re: Programowana klawiatura z pokrętłem

: 14 lut 2025, 05:14
autor: tuxcnc
strikexp pisze:
13 lut 2025, 23:00
Pokrętło wydaje się bezsensowne
Pokrętło ma taki sens, że łatwiej kręcić niż udawać dzięcioła.

Wczoraj próbowałem z http://linuxcnc.org/docs/html/man/man1/hal_input.1.html
Opornie to idzie, bo dokumentacja jest wyjątkowo skąpa i poświęciłem sporo czasu na wyłamywanie otwartych drzwi, ale są pewne sukcesy i powinno to działać.

Re: Programowana klawiatura z pokrętłem

: 14 lut 2025, 07:27
autor: pbugdol
strikexp pisze:Znajomy ma coś takiego tylko że jakieś markowe.
Pewnie chodzi o Stream Deck od Elgato, albo o jedną z wielu podobnych do niego klawiaturek dostępnych na Alie. Sam się zastanawiałem nad jedną z nich, ale jakoś zawsze szkoda kasy było :D
Swoją drogą na Ali można dostać pokrętła 100 imp/obr na 5V w śmiesznie niskich cenach, myślałem już by podłączyć taki pod Esp32 i zasymulować klawiaturę nim.

Re: Programowana klawiatura z pokrętłem

: 14 lut 2025, 08:03
autor: Bronsonboss
na bazie płytki z STM32 złożyłem swego czasu tzw. wędkę do swojego ploterka CNC na LinuxCNC
bazowałem na projekcie openxhc

u mnie złożony wygląda tak:
Obrazek
a graty tak:
Obrazek
Obrazek

Re: Programowana klawiatura z pokrętłem

: 14 lut 2025, 10:33
autor: strikexp
W jaki sposób wykonałeś taką własną klawiaturę?
pbugdol pisze:
14 lut 2025, 07:27
Sam się zastanawiałem nad jedną z nich, ale jakoś zawsze szkoda kasy było :D
Akurat ta z linku jest śmiesznie tania. Gdyby nie przeszkadzające pokrętło i więcej przycisków to sam bym kupił.

Re: Programowana klawiatura z pokrętłem

: 14 lut 2025, 11:11
autor: tuxcnc
strikexp pisze:
14 lut 2025, 10:33
Akurat ta z linku jest śmiesznie tania. Gdyby nie przeszkadzające pokrętło i więcej przycisków to sam bym kupił.
Poszukaj.
Są takie z kilkoma pokrętłami i są takie bez pokręteł.
Ilość klawiszy też różna.
Tylko trzeba szukać najtaniej, bo różnica potrafi być spora.

Re: Programowana klawiatura z pokrętłem

: 14 lut 2025, 12:31
autor: pbugdol
strikexp pisze:Akurat ta z linku jest śmiesznie tania. Gdyby nie przeszkadzające pokrętło i więcej przycisków to sam bym kupił.
Ta z linku jest rzeczywiście śmiesznie tania, tu nie zaprzeczam.
Ja pisałem o stream deckach, które nawet w wersjach z chin kosztują +200zł, a oryginały jeszcze więcej. Tylko że stream decki mają zamiast zwykłych klawiszy wyświetlacze i do tego specjalne oprogramowanie reagujące na to co się dzieje na komputerze (podobnie jak SpaceNavigator od 3DConnecion).

Re: Programowana klawiatura z pokrętłem

: 15 lut 2025, 22:35
autor: tuxcnc
Zmęczyłem.

Kod: Zaznacz cały

loadusr -W hal_input -K HID
loadrt flipflop count=3
addf flipflop.0 servo-thread
addf flipflop.1 servo-thread
addf flipflop.2 servo-thread
loadrt logic count=1 personality=0x203
addf logic.0 servo-thread
net key-1 input.0.key-a => flipflop.0.data => logic.0.in-00
net key-2 input.0.key-b => flipflop.1.data => logic.0.in-01
net key-3 input.0.key-c => flipflop.2.data => logic.0.in-02
net key-out logic.0.or => flipflop.0.clk => flipflop.1.clk => flipflop.2.clk
net jog-x-ena flipflop.0.out => halui.axis.x.select
net jog-y-ena flipflop.1.out => halui.axis.y.select
net jog-z-ena flipflop.2.out => halui.axis.z.select
net knob-minus input.0.key-d => halui.axis.selected.increment-minus
net knob-plus input.0.key-e => halui.axis.selected.increment-plus
setp halui.axis.selected.increment 1
setp halui.axis.jog-speed 100
Niestety nie działa to tak, jak powinno.
Pokrętło przepuszcza, czyli na przykład kręcisz pięć pyknięć a maszyna robi jeden krok.
Czasem jest na odwrót, czyli chcesz zrobić jeden krok, a robi dwa...
Czyli do użytku nadaje się średnio.
Może da się to poprawić, a może ten typ tak ma...
Klawiaturę zaprogramowałem pod Windows, jako klawisze a,b,c i pokrętło d,e,f.
Do hal_input jest bardzo skromna dokumentacja. Na początku w ogóle nie chciało mi to działać, ale chyba zrozumiałem o co chodzi. Każde urządzenie ma jakąś nazwę, np. "AT Translated Set 2 keyboard", ale podanie pełnej nazwy kończy się wywaleniem błędu. Trzeba podać jedno slowo, które będzie szukane w nazwach urządzeń.
Klawiaturka nazywa się HID 1189:8890 Keyboard, więc jako argument jest podane HID...
Reszta to już elementarna logika. Element logic użyty jako trójwejściowa bramka OR steruje wejściem CLK trzech przerzutników flipflop. Brzmi to skomplikowanie, ale działa bardzo prosto - wciśnięcie jednego z trzech klawiszy powoduje zapamiętanie który był wciśnięty. Służy to do wybrania aktywnej osi. Bez tego trzeba by dany klawisz trzymać cały czas.
Parametry halui.axis.selected.increment i halui.axis.jog-speed można sobie ustawić według upodobania.
Wciśnięcia pokrętła nie zaimplementowałem, bo nie miałem pomysłu do czego go użyć...

Jak pisałem, działa to tak sobie, ale za 20 PLN to może znajdzie amatorów...