Imports SlimDX.RawInput
Imports System.Collections
Imports System.Collections.Generic
Public Class Form1
Dim m_Devices As IReadOnlyList(Of DeviceInfo)
Dim m_KeyboardInfos As Dictionary(Of String, KeyboardInfo) = New Dictionary(Of String, KeyboardInfo)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
'Get the Devices
m_Devices = SlimDX.RawInput.Device.GetDevices()
'Device.RegisterDevice(SlimDX.Multimedia.UsagePage.Keyboard, SlimDX.Multimedia.UsageId.Keyboard1, DeviceFlags.InputSink, Me.Handle)
'Device.RegisterDevice(SlimDX.Multimedia.UsagePage.Keyboard, SlimDX.Multimedia.UsageId.Keyboard1, DeviceFlags.InputSink, txtWindow.Handle)
'Device.RegisterDevice(SlimDX.Multimedia.UsagePage.Keyboard, SlimDX.Multimedia.UsageId.Keyboard, DeviceFlags.None, Me.Handle)
'Device.RegisterDevice(SlimDX.Multimedia.UsagePage.Keyboard, SlimDX.Multimedia.UsageId.Keyboard, DeviceFlags.None, txtWindow.Handle)
'Device.RegisterDevice(SlimDX.Multimedia.UsagePage.Generic, SlimDX.Multimedia.UsageId.Keyboard, DeviceFlags.None, Me.Handle)
'Device.RegisterDevice(SlimDX.Multimedia.UsagePage.Generic, SlimDX.Multimedia.UsageId.Keyboard, DeviceFlags.None, txtWindow.Handle)
Device.RegisterDevice(SlimDX.Multimedia.UsagePage.Generic, SlimDX.Multimedia.UsageId.Keyboard, DeviceFlags.InputSink, Me.Handle)
Device.RegisterDevice(SlimDX.Multimedia.UsagePage.Generic, SlimDX.Multimedia.UsageId.Keyboard, DeviceFlags.InputSink, Me.Handle)
'Add our handlers
AddHandler Device.KeyboardInput, AddressOf KeyboardInputSub
AddHandler Device.RawInput, AddressOf RawInputSub
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
End Sub
Public Sub RawInputSub(sender As Object, rawinput As RawInputEventArgs)
Try
System.Diagnostics.Debug.WriteLine("")
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
End Sub
Public Sub KeyboardInputSub(sender As Object, keyboardinput As KeyboardInputEventArgs)
Try
System.Diagnostics.Debug.WriteLine(keyboardinput.Key.ToString() + " has been " + keyboardinput.State.ToString())
txtWindow.Text += vbCrLf + (keyboardinput.Key.ToString() + " has been " + keyboardinput.State.ToString()) + vbCrLf
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
End Sub
End Class