Hier mein VB code (ich weiß gehört hier nicht rein aber ich wollte keinen Anderen Tread eröffnen.
Gruß TjarkCode:'' Erstellt mit SharpDevelop. ' Benutzer: Tjark Möller •.• ' Datum: 03.03.2012 ' Zeit: 20:32 ' ' Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > Standardheader ändern. ' Imports System Imports System.Windows.Forms Imports Microsoft.DirectX.DirectInput Imports Microsoft.DirectX Public Partial Class MainForm Public Sub New() ' The Me.InitializeComponent call is required for Windows Forms designer support. Me.InitializeComponent() serialport1.open ' ' TODO : Add constructor code after InitializeComponents ' End Sub Private applicationDevice As Device = Nothing Public Shared state As New JoystickState() Public Function InitDirectInput() As Boolean dim instance As DeviceInstance For Each instance In Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly) applicationDevice = New Device(instance.InstanceGuid) Exit For Next instance applicationDevice.SetDataFormat(DeviceDataFormat.Joystick) applicationDevice.SetCooperativeLevel(Me, CooperativeLevelFlags.Exclusive Or CooperativeLevelFlags.Foreground) Dim d As DeviceObjectInstance For Each d In applicationDevice.Objects If 0 <> (d.ObjectId And CInt(DeviceObjectTypeFlags.Axis)) Then ' Set the range for the axis. applicationDevice.Properties.SetRange(ParameterHow.ById, d.ObjectId, New InputRange(+1, +255)) End If Next d Return True End Function 'InitDirectInput Public Sub GetData() If Nothing Is applicationDevice Then Return End If Try applicationDevice.Poll() Catch inputex As InputException If TypeOf inputex Is NotAcquiredException Or TypeOf inputex Is InputLostException Then Try applicationDevice.Acquire() Catch Return End Try End If End Try Try state = applicationDevice.CurrentJoystickState Catch Return End Try End Sub Sub Button1Click(ByVal sender As Object, ByVal e As EventArgs) InitDirectInput End Sub Sub Timer1Tick(ByVal sender As Object, ByVal e As EventArgs) GetData() 'Axis---------------------------------------------------- label1.Text="X = "+state.X.ToString() label2.Text="Y = "+state.Y.ToString() label3.Text="Z = "+state.Z.ToString() label4.Text="Rz = "+state.Rz.ToString() 'Buttons-------------------------------------------------- Label5.Text ="Button1 = "+state.GetButtons(0).Tostring Label6.Text ="Button2 = "+state.GetButtons(1).Tostring Label7.Text ="Button3 = "+state.GetButtons(2).Tostring Label8.Text ="Button4 = "+state.GetButtons(3).Tostring Label9.Text ="Button5 = "+state.GetButtons(4).Tostring Label10.Text ="Button6 = "+state.GetButtons(5).Tostring Label11.Text ="Button7 = "+state.GetButtons(6).Tostring Label12.Text ="Button8 = "+state.GetButtons(7).Tostring Label13.Text ="Button9 = "+state.GetButtons(8).Tostring Label14.Text ="Button10 = "+state.GetButtons(9).Tostring Label15.Text ="Button11 = "+state.GetButtons(10).Tostring Label16.Text ="Button12 = "+state.GetButtons(11).Tostring 'Serialport Write----------------------------------------- If serialport1.IsOpen Then 'Axis----------------------------------------------------- serialport1.Write ("X" + (state.X).tostring + Chr(13)) serialport1.Write ("Y" + (state.Y).tostring + Chr(13)) serialport1.Write ("Z" + (state.Z).tostring + Chr(13)) serialport1.Write ("Rz" + (state.Rz).tostring + Chr(13)) 'Buttons-------------------------------------------------- SerialPort1.Write ("B1" + (state.GetButtons(0)).ToString & Chr(13)) SerialPort1.Write ("B2" + (state.GetButtons(1)).ToString + Chr(13)) SerialPort1.Write ("B3" + (state.GetButtons(2)).ToString + Chr(13)) SerialPort1.Write ("B4" + (state.GetButtons(3)).ToString + Chr(13)) SerialPort1.Write ("B5" + (state.GetButtons(4)).ToString + Chr(13)) SerialPort1.Write ("B6" + (state.GetButtons(5)).ToString + Chr(13)) SerialPort1.Write ("B7" + (state.GetButtons(6)).ToString + Chr(13)) SerialPort1.Write ("B8" + (state.GetButtons(7)).ToString + Chr(13)) SerialPort1.Write ("B9" + (state.GetButtons(8)).ToString + Chr(13)) SerialPort1.Write ("B10" + (state.GetButtons(9)).ToString + Chr(13)) SerialPort1.Write ("B11" + (state.GetButtons(10)).ToString + Chr(13)) SerialPort1.Write ("B12" + (state.GetButtons(11)).ToString + Chr(13)) end if End Sub Sub Label1Click(ByVal sender As Object, ByVal e As EventArgs) End Sub Sub MainFormLoad(ByVal sender As Object, ByVal e As EventArgs) End Sub End Class







Zitieren

Lesezeichen