};
/**
+ * @brief Enumeration for the type of Keyboard.
+ */
+ enum KeyboardType
+ {
+ SOFTWARE_KEYBOARD, ///< Software keyboard (Virtual keyboard) is default
+ HARDWARE_KEYBOARD ///< Hardware keyboard
+ };
+
+ /**
* @brief This structure is used to pass on data from the IMF regarding predictive text.
*/
struct ImfEventData
typedef Signal< ImfCallbackData ( ImfManager&, const ImfEventData& ) > ImfEventSignalType; ///< keyboard events
typedef Signal< void () > VoidSignalType;
typedef Signal< void (bool) > StatusSignalType;
+ typedef Signal< void (KeyboardType) > KeyboardTypeSignalType; ///< keyboard type
public:
* @brief Sets up the input-panel specific data.
* @param[in] data The specific data to be set to the input panel
*/
- void SetInputPanelUserData( const std::string& data );
+ void SetInputPanelData( const std::string& data );
/**
* @brief Gets the specific data of the current active input panel.
+ *
+ * Input Panel Data is not always the data which is set by SetInputPanelData().
+ * Data can be changed internally in the input panel.
+ * It is just used to get a specific data from the input panel to an application.
* @param[in] data The specific data to be got from the input panel
*/
- void GetInputPanelUserData( std::string& data );
+ void GetInputPanelData( std::string& data );
/**
* @brief Gets the state of the current active input panel.
*/
void HideInputPanel();
+ /**
+ * @brief Gets the keyboard type.
+ *
+ * The default keyboard type is SOFTWARE_KEYBOARD.
+ * @return The keyboard type
+ */
+ KeyboardType GetKeyboardType();
+
+ /**
+ * @brief Gets the current language locale of the input panel.
+ *
+ * ex) en_US, en_GB, en_PH, fr_FR, ...
+ * @return The current language locale of the input panel
+ */
+ std::string GetInputPanelLocale();
+
public:
// Signals
*/
VoidSignalType& LanguageChangedSignal();
+ /**
+ * @brief Connect to this signal to be notified when the keyboard type is changed.
+ *
+ * A callback of the following type may be connected:
+ * @code
+ * void YourCallbackName( KeyboardType keyboard );
+ * @endcode
+ *
+ * @return The signal to connect to.
+ */
+ KeyboardTypeSignalType& KeyboardTypeChangedSignal();
+
// Construction & Destruction
/**