hildon_gtk_entry_set_input_mode(entry, mode) { Do checks for invalid modes (ie multiline in singleline entry) eg. mode &= ~HILDON_GTK_INPUT_MODE_MULTILINE; gtk_entry_set_input_purpose(entry , hildon_gtk_get_input_purpose(mode)); gtk_entry_set_input_hints(entry , hildon_gtk_get_input_hints(mode)); } hildon_gtk_get_input_purpose(mode) { if mode is HILDON_GTK_INPUT_MODE_NUMERIC return HILDON_GTK_INPUT_MODE_DIGITS etc. } hildon_gtk_get_input_hints(mode) { if mode contains HILDON_GTK_INPUT_MODE_AUTOCAP then add GTK_INPUT_HINT_UPPERCASE_SENTENCES to return if mode contains HILDON_GTK_INPUT_MODE_DICTIONARY then add GTK_INPUT_HINT_WORD_COMPLETION to return etc }