Requires root for full function. Some keys can still work without root. No Root users running Jelly Bean (4.1) and newer can also get Button Savior Non Root to get same functions.
Top 1 Software key App on Android Market
Top 10 Must have app for root devices
Top 1 Must have app on HTC HD2