public void Test() { var form = new Form(); var xLabel = new Label { Parent = form }; var yLabel = new Label { Parent = form, Top = 40 }; var zLabel = new Label { Parent = form, Top = 80 }; var close = false; var inputDevices = new SlimDXInputDevices(form); var keyboard = inputDevices.Keyboard; keyboard.On(Button.X).IsDown().Do(() => close = true); keyboard.On(Button.Escape).WasReleased().Do(() => close = true); keyboard.On(Button.W).WasReleased().Do(() => form.Text = "Pressed"); keyboard.On(Button.S).IsDown().Do(() => form.Text = "Down"); var mouse = inputDevices.Mouse; mouse.On(Button.LeftMouse).IsDown().Do(() => form.Text = "Left Mouse down"); mouse.On(Button.RightMouse).WasReleased().Do(() => form.Text = "Right Mouse was pressed"); mouse.On(Axis.X).Do(delta => xLabel.Text = "X: " + delta); mouse.On(Axis.Y).Do(delta => yLabel.Text = "Y: " + delta); mouse.On(Axis.Z).Do(delta => zLabel.Text = "Z: " + delta); form.Show(); var timer = new Timer { Interval = 10 }; timer.Tick += (s, e) => inputDevices.Update(); timer.Start(); while (!close) { Application.DoEvents(); } timer.Stop(); timer.Dispose(); }