Permalänk

Hantera USB-knappar från C#?

Jag sitter med en mikrofon här med som har knappar på sig och jag ska försöka supporta detta i en C# applikation, den är ansluten via USB och den hittas fint av Windows.
Jag hittar *ingen* som helst information om hur man ska läsa av såna här saker i C#, min "google fu" är kanske för dålig vad vet jag.
Har googlat lite och har testat nått "RawInput" men det verkar bara funka för tangentbord och möss.
Idéer tas tacksamt emot.

Visa signatur

Dator: MB: Gigabyte Z390 M GAMING mATX | CPU: Intel Core i9 9900K 3.6 GHz (Haswell) | RAM: Corsair 16GB (KIT) 3200Mhz Vengeance LPX | Grafikkort: ASUS GeForce RTX 3060 12GB PHOENIX V2 (LHR) | Chassi: Fractal Design Mini | PSU: Corsair RM750X 750W v2 | Optisk: ASUS BW-12B1ST Blu-Ray/DVD brännare | CPU-kylare: Noctua NH-U12S | Operativ: Windows 11 | Scanner: Canon Canoscan 9000F
Övrigt: Nintendo Switch, NES Mini, SNES Mini, Nintendo New 3DS, NES, Famicom AV, Famicom Disk System, PS3, PS5, AppleTV 4K, Synology NAS DS923+ (32GB), iPhone 14 Pro 128GB, LG OLED 55C2,

Permalänk
Medlem

Vad är det för mic du har?
Det är i upp till drivrutinen hur och om du kan lyssna på dessa knappar.

Visa signatur

- none -

Permalänk
Medlem

finns inget hårdvarulager i .NET direkt - utan det är via Windows och dess drivrutiner

kanske detta kan vara till hjälp

https://sourceforge.net/projects/libusbdotnet/

// LZ

Permalänk
Medlem
Skrivet av oRBIT2002:

Jag sitter med en mikrofon här med som har knappar på sig och jag ska försöka supporta detta i en C# applikation, den är ansluten via USB och den hittas fint av Windows.
Jag hittar *ingen* som helst information om hur man ska läsa av såna här saker i C#, min "google fu" är kanske för dålig vad vet jag.
Har googlat lite och har testat nått "RawInput" men det verkar bara funka för tangentbord och möss.
Idéer tas tacksamt emot.

Finns det någon information om hur knapparna fungerar, oavsett om informationen gäller C# eller något annat?

Är t.ex. mikrofonen även ett tangentbord eller är det någon annan typ av knappar?

Visa signatur

Desktop: Ryzen 5800X3D || MSI X570S Edge Max Wifi || Sapphire Pulse RX 7900 XTX || Gskill Trident Z 3600 64GB || Kingston KC3000 2TB || Samsung 970 EVO Plus 2TB || Samsung 960 Pro 1TB || Fractal Torrent || Asus PG42UQ 4K OLED
Proxmox server: Ryzen 5900X || Asrock Rack X570D4I-2T || Kingston 64GB ECC || WD Red SN700 1TB || Blandning av WD Red / Seagate Ironwolf för lagring || Fractal Node 304

Permalänk
Medlem

Finns goda chanser att det blir väldigt svårt att fånga upp dessa knappar.

Först av allt så är det intressant vad det är för mikrofon. Min Blue Yeti har exempelvis en knapp för mute som jag misstänker inte ens skickar status på USB överhuvudtaget. Om du vet att den skickar detta över USB så kan du säkert snappa upp det på något vis på driver-nivå men det är lättare sagt än gjort.

Permalänk
Medlem

Knapparna dyker inte upp som en USB HID i windows?

Visa signatur

I5 9600k@stock / Cooler Master Evo 212 / Gigabyte Z390 Gaming X / Corsair Vengeance LPX 16GB DDR4 3000MHz / MSI RTX2070 Gaming Z / EVGA 550 BQ / Asus VG27BQ 27" 165Hz

Ryzen 5 5600x@stock / Asus Rog Strix X570-E Gaming / Corsair Vengeance RGB Pro 16GB 3600MHz CL18 / MSI RTX3070 Suprim X / BeQuiet Pure Power 11 600W / Asus VG278Q 27" 144Hz

Permalänk

Det är en "TM3-LS-USB V2". En typ av bordsmikrofon. Den har en TALK knapp och när man trycker på den ska ljudet "spelas in". Men i dagsläget spelar den in så fort jag bara försöker spela in från den (via NAudio) så knappen ignoreras. Vore kul att veta hur man löser det..

Visa signatur

Dator: MB: Gigabyte Z390 M GAMING mATX | CPU: Intel Core i9 9900K 3.6 GHz (Haswell) | RAM: Corsair 16GB (KIT) 3200Mhz Vengeance LPX | Grafikkort: ASUS GeForce RTX 3060 12GB PHOENIX V2 (LHR) | Chassi: Fractal Design Mini | PSU: Corsair RM750X 750W v2 | Optisk: ASUS BW-12B1ST Blu-Ray/DVD brännare | CPU-kylare: Noctua NH-U12S | Operativ: Windows 11 | Scanner: Canon Canoscan 9000F
Övrigt: Nintendo Switch, NES Mini, SNES Mini, Nintendo New 3DS, NES, Famicom AV, Famicom Disk System, PS3, PS5, AppleTV 4K, Synology NAS DS923+ (32GB), iPhone 14 Pro 128GB, LG OLED 55C2,

Permalänk
Medlem
Skrivet av oRBIT2002:

Det är en "TM3-LS-USB V2". En typ av bordsmikrofon. Den har en TALK knapp och när man trycker på den ska ljudet "spelas in". Men i dagsläget spelar den in så fort jag bara försöker spela in från den (via NAudio) så knappen ignoreras. Vore kul att veta hur man löser det..

Hur vet du att knappen har den funktionen?
Har du läst manualen?
Om det är en PTT-knapp, behöver den några drivrutiner? Har du installerat dessa?

Permalänk
Medlem

Enligt tillverkaren behövs inga drivarrutiner. Den är pnp.

Står att den har inbyggd högtalare? Ptt knappen är inte till bara för den?

Edit om den är som en vanlig usb mic annars så kan du ha en threshold för vilken in nivå du måste ha för att den ska spela in.

Visa signatur

I5 9600k@stock / Cooler Master Evo 212 / Gigabyte Z390 Gaming X / Corsair Vengeance LPX 16GB DDR4 3000MHz / MSI RTX2070 Gaming Z / EVGA 550 BQ / Asus VG27BQ 27" 165Hz

Ryzen 5 5600x@stock / Asus Rog Strix X570-E Gaming / Corsair Vengeance RGB Pro 16GB 3600MHz CL18 / MSI RTX3070 Suprim X / BeQuiet Pure Power 11 600W / Asus VG278Q 27" 144Hz

Permalänk

Jag har faktiskt inte installerat nått, jag stoppade bara in den i datorn och den installerades automatiskt. Manualen har jag inte kikat i faktiskt.
Jag vet att andra system använder TALK knappen för att tala så uppenbarligen går det att göra.

Visa signatur

Dator: MB: Gigabyte Z390 M GAMING mATX | CPU: Intel Core i9 9900K 3.6 GHz (Haswell) | RAM: Corsair 16GB (KIT) 3200Mhz Vengeance LPX | Grafikkort: ASUS GeForce RTX 3060 12GB PHOENIX V2 (LHR) | Chassi: Fractal Design Mini | PSU: Corsair RM750X 750W v2 | Optisk: ASUS BW-12B1ST Blu-Ray/DVD brännare | CPU-kylare: Noctua NH-U12S | Operativ: Windows 11 | Scanner: Canon Canoscan 9000F
Övrigt: Nintendo Switch, NES Mini, SNES Mini, Nintendo New 3DS, NES, Famicom AV, Famicom Disk System, PS3, PS5, AppleTV 4K, Synology NAS DS923+ (32GB), iPhone 14 Pro 128GB, LG OLED 55C2,

Permalänk
Medlem

Din google-fu är inte bara dålig, du måste verkligen försökt undvika svaren. Eller också så har du ställt fel fråga till oss andra.

Skrev c# Read usb, och fick upp tio vanliga förslag. Valde raw data input och fick en snabb lektion i ämnet.

Här är det bästa jag hittade som säkert kan sammanfatta processen för dig:
https://www.developerfusion.com/article/84338/making-usb-c-fr...

Visa signatur

Processor: Motorola 68000 | Klockfrekvens: 7,09 Mhz (PAL) | Minne: 256 kB ROM / 512 kB RAM | Bussbredd: 24 bit | Joystick: Tac2 | Operativsystem: Amiga OS 1.3

Permalänk

En hint, man kan tänka på hur man formulerar sig ibland. Det blir så mycket trevligare då.

Visa signatur

Dator: MB: Gigabyte Z390 M GAMING mATX | CPU: Intel Core i9 9900K 3.6 GHz (Haswell) | RAM: Corsair 16GB (KIT) 3200Mhz Vengeance LPX | Grafikkort: ASUS GeForce RTX 3060 12GB PHOENIX V2 (LHR) | Chassi: Fractal Design Mini | PSU: Corsair RM750X 750W v2 | Optisk: ASUS BW-12B1ST Blu-Ray/DVD brännare | CPU-kylare: Noctua NH-U12S | Operativ: Windows 11 | Scanner: Canon Canoscan 9000F
Övrigt: Nintendo Switch, NES Mini, SNES Mini, Nintendo New 3DS, NES, Famicom AV, Famicom Disk System, PS3, PS5, AppleTV 4K, Synology NAS DS923+ (32GB), iPhone 14 Pro 128GB, LG OLED 55C2,

Permalänk
Medlem

Min erfarenhet är att vissa enheter hanterar USB mot datorn från knapparna, andra har inget gränssnitt alls. Så t.ex. på ett headset så funkar mute-knappen på headsetet med t.ex. Teams så att mute i Teams styrs av knappen. På ett annat så är det en helt lokal mute på headset och på teams så du kan få dubbel-mute och det kan vara snårigt. Riktigt kul blir det om man kör mute med headset-knappen men någon annan kört mute på dig i Teams och man inte upptäcker det utan talar i blindo.

Permalänk
Medlem

Här har du info från tillverkaren gällande knappar , står inte att det är för just tm3 men den finns med i documentationen.

https://www.imtradex.at/Bedienungsanleitungen/Imtradex/Imtrad...

Visa signatur

I5 9600k@stock / Cooler Master Evo 212 / Gigabyte Z390 Gaming X / Corsair Vengeance LPX 16GB DDR4 3000MHz / MSI RTX2070 Gaming Z / EVGA 550 BQ / Asus VG27BQ 27" 165Hz

Ryzen 5 5600x@stock / Asus Rog Strix X570-E Gaming / Corsair Vengeance RGB Pro 16GB 3600MHz CL18 / MSI RTX3070 Suprim X / BeQuiet Pure Power 11 600W / Asus VG278Q 27" 144Hz

Permalänk

Oj ok. Det här såg ut som överkurs, får kolla lite om det går att få det begripligt. tack.

Visa signatur

Dator: MB: Gigabyte Z390 M GAMING mATX | CPU: Intel Core i9 9900K 3.6 GHz (Haswell) | RAM: Corsair 16GB (KIT) 3200Mhz Vengeance LPX | Grafikkort: ASUS GeForce RTX 3060 12GB PHOENIX V2 (LHR) | Chassi: Fractal Design Mini | PSU: Corsair RM750X 750W v2 | Optisk: ASUS BW-12B1ST Blu-Ray/DVD brännare | CPU-kylare: Noctua NH-U12S | Operativ: Windows 11 | Scanner: Canon Canoscan 9000F
Övrigt: Nintendo Switch, NES Mini, SNES Mini, Nintendo New 3DS, NES, Famicom AV, Famicom Disk System, PS3, PS5, AppleTV 4K, Synology NAS DS923+ (32GB), iPhone 14 Pro 128GB, LG OLED 55C2,

Permalänk
Avstängd
Skrivet av ehsnils:

Min erfarenhet är att vissa enheter hanterar USB mot datorn från knapparna, andra har inget gränssnitt alls. Så t.ex. på ett headset så funkar mute-knappen på headsetet med t.ex. Teams så att mute i Teams styrs av knappen. På ett annat så är det en helt lokal mute på headset och på teams så du kan få dubbel-mute och det kan vara snårigt. Riktigt kul blir det om man kör mute med headset-knappen men någon annan kört mute på dig i Teams och man inte upptäcker det utan talar i blindo.

Det är absolut en intressant funktion i Teams, att man kan mute:a alla liksom. Mycket användbart när någon inte har vett att stänga micken när de käkar eller så.

Permalänk
Vila i frid
Skrivet av oRBIT2002:

Oj ok. Det här såg ut som överkurs, får kolla lite om det går att få det begripligt. tack.

Tips, t.ex. Wireshark har numera USBCAP som kan hjälpa till vid debuggning av vad som händer och inte på USB vid utvecklande av t.ex. drivare.