[PATCH 1/3] text: Add content type support to text protocol
Kristian Høgsberg
hoegsberg at gmail.com
Thu Dec 6 14:01:31 PST 2012
On Mon, Dec 03, 2012 at 10:26:20PM +0200, Pekka Vuorela wrote:
> On ma, 2012-12-03 at 15:15 +0100, Jan Arne Petersen wrote:
> > From: Jan Arne Petersen <jpetersen at openismus.com>
> >
> > Support content types in text protocol. Content is defined by a hint
> > bitmask and a purpose field.
>
> > +++ b/protocol/text.xml
> > @@ -83,8 +83,42 @@
> > <arg name="height" type="int"/>
> > </request>
> > <request name="set_preedit"/>
> > - <request name="set_content_type"/>
> > -
> > + <enum name="content_hint">
> > + <entry name="none" value="0x0"/>
> > + <entry name="auto_complete" value="0x1"/>
> > + <entry name="auto_correct" value="0x2"/>
> > + <entry name="no_suggestions" value="0x4"/>
> > + <entry name="lowercase" value="0x8"/>
> > + <entry name="uppercase_chars" value="0x10"/>
> > + <entry name="uppercase_words" value="0x20"/>
> > + <entry name="uppercase_sentences" value="0x40"/>
> > + <entry name="hidden_text" value="0x80"/>
> > + <entry name="inhibit_osk" value="0x100"/>
> > + </enum>
> > + <enum name="content_purpose">
> > + <entry name="normal" value="0"/>
> > + <entry name="alpha" value="1"/>
> > + <entry name="digits" value="2"/>
> > + <entry name="number" value="3"/>
> > + <entry name="phone" value="4"/>
> > + <entry name="url" value="5"/>
> > + <entry name="email" value="6"/>
> > + <entry name="name" value="7"/>
> > + <entry name="password" value="8"/>
> > + <entry name="pin" value="9"/>
> > + <entry name="date" value="10"/>
> > + <entry name="time" value="11"/>
> > + <entry name="datetime" value="12"/>
> > + <entry name="day" value="13"/>
> > + <entry name="month" value="14"/>
> > + <entry name="year" value="15"/>
> > + <entry name="hex" value="16"/>
> > + <entry name="terminal" value="17"/>
> > + </enum>
> > + <request name="set_content_type">
> > + <arg name="hint" type="uint"/>
> > + <arg name="purpose" type="uint"/>
> > + </request>
> > <event name="commit_string">
> > <description summary="commit">
>
> - Could have some description what these mean in more detail.
>
> - Osk abbreviation on enum doesn't feel nice. If it means not showing
> virtual keyboard then it's not technically a content hint either. How
> does toolkit implement click on focused entry to get keyboard? Default
> value of inhibit, clearing the bit on mouse click?
>
> - Default value on content_hint does not seem to be 0. I'd prefer text
> entries prohibiting features like auto caps or error correction instead
> of needing to ask for them.
>
> - sensitive_data could make sense in addition to hidden_text, or even
> replacing it. Passwords can be shown in clear text but it's even then
> not nice storing them in prediction engine.
>
> - not really sure what all these uppercase_* are and how they play
> together. First two seem suspicious.
>
> - not sure if all the content_purposes make sense. E.g. Pin is also
> hidden text (/sensitive_data) and number. Cannot think how separating
> these helps the input method.
> As related, not sure if explicit purposes or ORred flags on accepted
> character ranges as in Qt make more sense.
Thanks for the review and suggestions here Pekka, I appreciate it.
Kristian
More information about the wayland-devel
mailing list