These continuous rotary encoders are great for twist knobs, and have a built in push button. They are great for timers and measurement knobs that need an additional push button for extended functionality.
The encoder houses 5 pins: 3 pins on one side to measure the rotation, and 2 pins on the opposite side to measure the push of the button.
The encoder works with two brushes that slide on a slotted wheel, which makes a click sound when the axel is rotated. When the encoder clicks, it changes the states of the two output pins momentarily, and this can be read to measure the angle and direction that the axel was rotated.
More details about coding for the rotary encoder is available at: http://playground.arduino.cc/Main/RotaryEncoders