Platforms to show: All Mac Windows Linux Cross-Platform
/USB/HID Linux/USB HID Devices Linux
Required plugins for this example: MBS USB Plugin
Last modified Sun, 17th Mar 2012.
You find this example project in your MBS Xojo Plugin download as a Xojo project file within the examples folder: /USB/HID Linux/USB HID Devices Linux
Download this example: USB HID Devices Linux.zip
Project "USB HID Devices Linux.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
EventHandler Sub Open()
if not TargetLinux then
MsgBox "This application requires Linux."
quit
end if
// check platform
dim s as new Shell
s.Execute "uname -m"
if s.Result = "x86_64" then
MsgBox "The HID class works only on 32 bit linux systems. It will work on 64 bit Linux once REAL Studio creates true 64 bit applications."
quit
end if
End EventHandler
End Class
Class Window1 Inherits Window
Control Listbox1 Inherits Listbox
ControlInstance Listbox1 Inherits Listbox
End Control
EventHandler Sub Open()
dim h as new hid
call h.Open(0, h.kMatchAny, h.kMatchAny)
End EventHandler
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
Class HID Inherits LinuxHIDInterfaceMBS
EventHandler Function MatchDevice(usbdev as LinuxUSBDeviceHandleMBS) As boolean
dim l as Listbox = window1.Listbox1
dim d as LinuxUSBDeviceDescriptionMBS = usbdev.Device.Descriptor
l.AddRow d.ProductName
l.cell(l.LastIndex,1)=d.Manufacturer
l.cell(l.LastIndex,2)=d.SerialNumber
l.cell(l.LastIndex,3)=str(d.Product)
l.cell(l.LastIndex,4)=str(d.Vendor)
dim s as string
dim n as integer = d.DeviceClass
Select case n
case d.kDeviceClassAudio
s = " Audio"
case d.kDeviceClassCOMM
s = " COMM"
case d.kDeviceClassDATA
s = " DATA"
case d.kDeviceClassHID
s = " HID"
case d.kDeviceClassHUB
s = " HUB"
case d.kDeviceClassMassStorage
s = " MassStorage"
case d.kDeviceClassPrinter
s = " Printer"
else
s = " ?"
end Select
l.cell(l.LastIndex,5)=str(n)+s
l.cell(l.LastIndex,6)=str(d.DeviceSubClass)
l.cell(l.LastIndex,7)=str(d.DeviceProtocol)
l.cell(l.LastIndex,8)=str(d.MaxPacketSize0)
Exception
End EventHandler
End Class
End Project
See also:
- /USB/HID Linux/USB Devices Linux
- /USB/HID Linux/USB HID IO Warrior Linux LEDs
- /USB/HID Mac/USB HID Devices Mac
- /USB/HID Mac/USB HID IO Warrior Mac OS X LEDs
- /USB/HID Mac/USB HID Test Mac
- /USB/HID Windows/USB HID Devices Win
- /USB/HID Windows/USB HID IO Warrior Windows LEDs
Download this example: USB HID Devices Linux.zip
The items on this page are in the following plugins: MBS USB Plugin.