Chapter 9. Human input

 

This chapter covers

  • Capturing keystrokes
  • Responding to mouse clicks, movement, and the wheel
  • Handling multitouch input
  • Working with pen ink input

Real-world applications need a way to accept input from users. This process of collecting input is managed by a wide range of input devices, such as the mouse, touch, stylus, and keyboard. Silverlight provides direct support for these devices through the System.Windows.Input namespace.

Whether you’re implementing drag and drop or mouse-wheel zoom or creating your own right-click context menus, you’ll almost certainly end up handling mouse input in your applications. Silverlight has great support for mouse states as well as for handling both left and right mouse buttons and allowing you to respond to the mouse wheel. Silverlight even makes it possible for you to respond to double-click, triple-click, and any other multiclick scenario you may want.

Multitouch is now coming of age due to the proliferation of multitouch devices, PC displays, slates, and notebooks. Silverlight can now accept single- and multi-touch input to allow you to write modern touch-enabled applications.

If you have a tablet PC, an external drawing pad, or perhaps one of the newer slate form factors that we’re just dreaming about as I write this, then ink input using a stylus is a must. Ink is also a convenient way to capture drawings done with the mouse.

9.1. Capturing the keyboard

9.2. Mouse input

9.3. Using multitouch

9.4. Collecting ink drawings

9.5. Summary