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.
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.