Programowana klawiatura z pokrętłem

Dyskusje dotyczące działania obsługi programu LinuxCNC
Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 9323
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Programowana klawiatura z pokrętłem

#1

Post napisał: tuxcnc » 13 lut 2025, 20:51

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.




strikexp
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 4689
Rejestracja: 31 mar 2017, 19:47
Lokalizacja: Warszawa

Re: Programowana klawiatura z pokrętłem

#2

Post napisał: strikexp » 13 lut 2025, 23:00

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.

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 9323
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Programowana klawiatura z pokrętłem

#3

Post napisał: tuxcnc » 14 lut 2025, 05:14

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ć.

Awatar użytkownika

pbugdol
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 157
Rejestracja: 09 mar 2022, 11:25
Lokalizacja: Śląskie

Re: Programowana klawiatura z pokrętłem

#4

Post napisał: pbugdol » 14 lut 2025, 07:27

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.


Bronsonboss
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 318
Rejestracja: 14 sty 2018, 18:27
Lokalizacja: Cedry Wielkie

Re: Programowana klawiatura z pokrętłem

#5

Post napisał: Bronsonboss » 14 lut 2025, 08:03

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


strikexp
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 4689
Rejestracja: 31 mar 2017, 19:47
Lokalizacja: Warszawa

Re: Programowana klawiatura z pokrętłem

#6

Post napisał: strikexp » 14 lut 2025, 10:33

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ł.

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 9323
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Programowana klawiatura z pokrętłem

#7

Post napisał: tuxcnc » 14 lut 2025, 11:11

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.

Awatar użytkownika

pbugdol
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 157
Rejestracja: 09 mar 2022, 11:25
Lokalizacja: Śląskie

Re: Programowana klawiatura z pokrętłem

#8

Post napisał: pbugdol » 14 lut 2025, 12:31

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).

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 9323
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Programowana klawiatura z pokrętłem

#9

Post napisał: tuxcnc » 15 lut 2025, 22:35

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...

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”