When writing a Windows Phone 7 application in Silverlight, you will find a property on every TextBox control called “InputScope.” The primary use of this property is to alter the way the Software Input Panel (SIP or on-screen keyboard) works. Depending on what you set its value to, the SIP will include certain character sets, auto-complete features, and can auto-capitalize phrases and words for you. There’s no question you should be using this built-in feature. However, sometimes it’s hard to remember what each value of the InputScopeNameValue Enumeration actually does.
As it turns out, Microsoft lists only 10 modes the SIP can be put into. Below, you will find a screenshot of each and a list of the InputScope values associated with each.
[more]
If the InputScope is not specified, this is the SIP that is used. You get a standard layout with no auto-complete help at the top.
InputScope values: Default, PhraseList, RegularExpression, Srgs, Xml, EnumString, FullFilePath, FileName, LogOnName, PersonalFullName, PersonalNamePrefix, PersonalGivenName, PersonalMiddleName, PersonalSurname, PersonalNameSuffix, AddressStateOrProvince, AddressCity, AddressCountryName, AddressCountryShortName, OneChar, Password, NumberFullWidth, AlphanumericHalfWidth, AlphaNumericFullWidth, CurrencyChinese, Bopomofo, Hiragana, KatakanaHalfWidth, KatakanaFullWidth, Hanja, Yomi, Private (causes a non-functioning auto-complete bar to show at the top of the SIP)
InputScope values starting in numeric / symbol mode: PostalAddress, PostalCode, AddressStreet, CurrencyAmountAndSymbol, CurrencyAmount, DateMonth, DateDay, DateYear, Digits, Number, Time, TimeHour, TimeMinorSec
InputScope values starting in text mode with first letter capitalization: DateMonthName, Date
![]() | ![]() |
This SIP layout is nearly the same as the Default layout. However, it comes with an emoticon button, auto-correct bar (on top) and auto-capitalization for the first word of a sentence.
InputScope values: Text
![]() | ![]() |
Also similar to the Default layout, a “.com” button is added along with a highlighted Enter button.
InputScope values: Url
![]() | ![]() |
Adding the “.com” and “@” buttons to the default layout, this layout is used for email address entry.
InputScope values: EmailSmtpAddress, EmailUserName
![]() | ![]() |
This layout is listed separately from the “E-mail address” layout, but seems to be identical in every way.
InputScope values: EmailNameOrAddress
![]() | ![]() |
The Maps layout is suppose to be used for entering location information (coordinates or city, state combinations). It includes a prominent comma button, auto-complete features, and a highlighted Enter key.
InputScope values: Maps, ApplicationEnd
![]() | ![]() |
This layout is a standard 12-key telephone pad (0 – 9, *, and #) with the addition of Backspace, Space, Comma, and Period.
InputScope values: TelephoneNumber, TelephoneCountryCode, TelephoneAreaCode, TelephoneLocalNumber
This is nearly the same as the Default layout, but also includes a highlighted Enter key.
InputScope values: Search
![]() | ![]() |
Take the Default layout, add access to the 12-key telephone pad (123 button), the “@” key, and a semicolon.
InputScope values: NameOrPhoneNumber
![]() | ![]() |
This layout is listed separately from the “Text” layout, but seems identical to the Text layout.
InputScope values: Chat
![]() | ![]() |
One thing I should bring up is that I did not try the keyboard in all language modes. (If you hit the “En” button you can switch languages) However, it does appear the above lists are consistent across languages, as well. I tested this in English (United States). If you spot an error, please let me know and I’ll update the post.