Permalänk
Medlem

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 B760 Gaming X | SSD: Samsung 990 Pro M.2 1TB + Crucial P3 M.2 1TB CPU: Intel Core i7 14700 2.1 GHz 61MB | RAM: Corsair 32GB (2x16GB) DDR5 4800MHz CL40 Vengean | Grafikkort: ASUS Dual GeForce RTX 4060 EVO 8GB OC | Chassi: be quiet! Pure Base 600 Silver | PSU: Corsair RM750e ATX 3.0 750W V3 | Optisk: ASUS BW-12B1ST Blu-Ray/DVD brännare | CPU-kylare: Thermalright Peerless Assassin 120 SE | Operativ: Windows 11 | Scanner: Canon Canoscan 9000F
Övrigt: Nintendo Switch, Switch 2, NES Mini, SNES Mini, Nintendo New 3DS, NES, Famicom AV, PS3, PS5, AppleTV 4K, Synology NAS DS923+ (32GB), iPhone 16 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 spel m.m.: Ryzen 9800X3D || MSI X870 Tomahawk Wifi || MSI Ventus 3x 5080 || Gskill FlareX 6000 64GB || Kingston KC3000 2TB || Samsung 970 EVO Plus 2TB || Samsung 960 Pro 1TB || Fractal Torrent || Asus PG42UQ 4K OLED
Arbetsstation: Ryzen 7945HX || Minisforum BD790i || Asus Proart 4070 Ti Super || Kingston Fury Impact 5600 65 GB || WD SN850 2TB || Samsung 990 Pro 2TB || Fractal Ridge
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
Medlem

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 B760 Gaming X | SSD: Samsung 990 Pro M.2 1TB + Crucial P3 M.2 1TB CPU: Intel Core i7 14700 2.1 GHz 61MB | RAM: Corsair 32GB (2x16GB) DDR5 4800MHz CL40 Vengean | Grafikkort: ASUS Dual GeForce RTX 4060 EVO 8GB OC | Chassi: be quiet! Pure Base 600 Silver | PSU: Corsair RM750e ATX 3.0 750W V3 | Optisk: ASUS BW-12B1ST Blu-Ray/DVD brännare | CPU-kylare: Thermalright Peerless Assassin 120 SE | Operativ: Windows 11 | Scanner: Canon Canoscan 9000F
Övrigt: Nintendo Switch, Switch 2, NES Mini, SNES Mini, Nintendo New 3DS, NES, Famicom AV, PS3, PS5, AppleTV 4K, Synology NAS DS923+ (32GB), iPhone 16 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
Medlem

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 B760 Gaming X | SSD: Samsung 990 Pro M.2 1TB + Crucial P3 M.2 1TB CPU: Intel Core i7 14700 2.1 GHz 61MB | RAM: Corsair 32GB (2x16GB) DDR5 4800MHz CL40 Vengean | Grafikkort: ASUS Dual GeForce RTX 4060 EVO 8GB OC | Chassi: be quiet! Pure Base 600 Silver | PSU: Corsair RM750e ATX 3.0 750W V3 | Optisk: ASUS BW-12B1ST Blu-Ray/DVD brännare | CPU-kylare: Thermalright Peerless Assassin 120 SE | Operativ: Windows 11 | Scanner: Canon Canoscan 9000F
Övrigt: Nintendo Switch, Switch 2, NES Mini, SNES Mini, Nintendo New 3DS, NES, Famicom AV, PS3, PS5, AppleTV 4K, Synology NAS DS923+ (32GB), iPhone 16 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
Medlem

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

Visa signatur

Dator: MB: Gigabyte B760 Gaming X | SSD: Samsung 990 Pro M.2 1TB + Crucial P3 M.2 1TB CPU: Intel Core i7 14700 2.1 GHz 61MB | RAM: Corsair 32GB (2x16GB) DDR5 4800MHz CL40 Vengean | Grafikkort: ASUS Dual GeForce RTX 4060 EVO 8GB OC | Chassi: be quiet! Pure Base 600 Silver | PSU: Corsair RM750e ATX 3.0 750W V3 | Optisk: ASUS BW-12B1ST Blu-Ray/DVD brännare | CPU-kylare: Thermalright Peerless Assassin 120 SE | Operativ: Windows 11 | Scanner: Canon Canoscan 9000F
Övrigt: Nintendo Switch, Switch 2, NES Mini, SNES Mini, Nintendo New 3DS, NES, Famicom AV, PS3, PS5, AppleTV 4K, Synology NAS DS923+ (32GB), iPhone 16 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
Medlem

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 B760 Gaming X | SSD: Samsung 990 Pro M.2 1TB + Crucial P3 M.2 1TB CPU: Intel Core i7 14700 2.1 GHz 61MB | RAM: Corsair 32GB (2x16GB) DDR5 4800MHz CL40 Vengean | Grafikkort: ASUS Dual GeForce RTX 4060 EVO 8GB OC | Chassi: be quiet! Pure Base 600 Silver | PSU: Corsair RM750e ATX 3.0 750W V3 | Optisk: ASUS BW-12B1ST Blu-Ray/DVD brännare | CPU-kylare: Thermalright Peerless Assassin 120 SE | Operativ: Windows 11 | Scanner: Canon Canoscan 9000F
Övrigt: Nintendo Switch, Switch 2, NES Mini, SNES Mini, Nintendo New 3DS, NES, Famicom AV, PS3, PS5, AppleTV 4K, Synology NAS DS923+ (32GB), iPhone 16 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.