1 /** Copyright (c) 2017 Samsung Electronics Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
17 using System.Runtime.InteropServices;
18 using System.ComponentModel;
23 /// Specifically manages the ecore input method framework which enables the virtual or hardware keyboards.
25 public class ImfManager : BaseHandle
27 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
29 internal ImfManager(IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.ImfManager_SWIGUpcast(cPtr), cMemoryOwn)
31 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
34 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfManager obj)
36 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
39 protected override void Dispose(DisposeTypes type)
46 if (type == DisposeTypes.Explicit)
49 //Release your own managed resources here.
50 //You should release all of your own disposable objects here.
54 //Release your own unmanaged resources here.
55 //You should not access any managed member here except static instance.
56 //because the execution order of Finalizes is non-deterministic.
58 if (_keyboardTypeChangedEventCallback != null)
60 KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
63 if (_imfManagerLanguageChangedEventCallback != null)
65 LanguageChangedSignal().Disconnect(_imfManagerLanguageChangedEventCallback);
68 if (_imfManagerResizedEventCallback != null)
70 ResizedSignal().Disconnect(_imfManagerResizedEventCallback);
73 if (_imfManagerStatusChangedEventCallback != null)
75 StatusChangedSignal().Disconnect(_imfManagerStatusChangedEventCallback);
78 if (_imfManagerEventReceivedEventCallback != null)
80 EventReceivedSignal().Disconnect(_imfManagerEventReceivedEventCallback);
83 if (_imfManagerActivatedEventCallback != null)
85 ActivatedSignal().Disconnect(_imfManagerActivatedEventCallback);
88 if (swigCPtr.Handle != global::System.IntPtr.Zero)
93 NDalicManualPINVOKE.delete_ImfManager(swigCPtr);
95 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
102 /// This structure is used to pass on data from the IMF regarding predictive text.
104 public class ImfEventData : global::System.IDisposable
106 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
107 protected bool swigCMemOwn;
109 internal ImfEventData(IntPtr cPtr, bool cMemoryOwn)
111 swigCMemOwn = cMemoryOwn;
112 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
115 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfEventData obj)
117 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
120 //A Flag to check who called Dispose(). (By User or DisposeQueue)
121 private bool isDisposeQueued = false;
122 //A Flat to check if it is already disposed.
123 protected bool disposed = false;
128 if (!isDisposeQueued)
130 isDisposeQueued = true;
131 DisposeQueue.Instance.Add(this);
136 /// The dispose pattern.
138 public void Dispose()
140 //Throw excpetion if Dispose() is called in separate thread.
141 if (!Window.IsInstalled())
143 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
148 Dispose(DisposeTypes.Implicit);
152 Dispose(DisposeTypes.Explicit);
153 System.GC.SuppressFinalize(this);
157 protected virtual void Dispose(DisposeTypes type)
164 if (type == DisposeTypes.Explicit)
167 //Release your own managed resources here.
168 //You should release all of your own disposable objects here.
172 //Release your own unmanaged resources here.
173 //You should not access any managed member here except static instance.
174 //because the execution order of Finalizes is non-deterministic.
176 if (swigCPtr.Handle != IntPtr.Zero)
181 NDalicManualPINVOKE.delete_ImfManager_ImfEventData(swigCPtr);
183 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
189 internal static ImfEventData GetImfEventDataFromPtr(IntPtr cPtr)
191 ImfEventData ret = new ImfEventData(cPtr, false);
192 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
197 /// The default constructor.
199 public ImfEventData() : this(NDalicManualPINVOKE.new_ImfManager_ImfEventData__SWIG_0(), true)
201 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
207 /// <param name="aEventName">The name of the event from the IMF.</param>
208 /// <param name="aPredictiveString">The pre-edit or the commit string.</param>
209 /// <param name="aCursorOffset">Start the position from the current cursor position to start deleting characters.</param>
210 /// <param name="aNumberOfChars">The number of characters to delete from the cursorOffset.</param>
211 public ImfEventData(ImfManager.ImfEvent aEventName, string aPredictiveString, int aCursorOffset, int aNumberOfChars) : this(NDalicManualPINVOKE.new_ImfManager_ImfEventData__SWIG_1((int)aEventName, aPredictiveString, aCursorOffset, aNumberOfChars), true)
213 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
217 /// The pre-edit or the commit string.
219 //Please do not use! this will be deprecated
220 [EditorBrowsable(EditorBrowsableState.Never)]
221 public string predictiveString
225 NDalicManualPINVOKE.ImfManager_ImfEventData_predictiveString_set(swigCPtr, value);
226 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
230 string ret = NDalicManualPINVOKE.ImfManager_ImfEventData_predictiveString_get(swigCPtr);
231 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
237 /// The pre-edit or the commit string.
239 public string PredictiveString
243 NDalicManualPINVOKE.ImfManager_ImfEventData_predictiveString_set(swigCPtr, value);
244 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
248 string ret = NDalicManualPINVOKE.ImfManager_ImfEventData_predictiveString_get(swigCPtr);
249 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
255 /// The name of the event from the IMF.
257 //Please do not use! this will be deprecated
258 [EditorBrowsable(EditorBrowsableState.Never)]
259 public ImfManager.ImfEvent eventName
263 NDalicManualPINVOKE.ImfManager_ImfEventData_eventName_set(swigCPtr, (int)value);
264 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
268 ImfManager.ImfEvent ret = (ImfManager.ImfEvent)NDalicManualPINVOKE.ImfManager_ImfEventData_eventName_get(swigCPtr);
269 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
275 /// The name of the event from the IMF.
277 public ImfManager.ImfEvent EventName
281 NDalicManualPINVOKE.ImfManager_ImfEventData_eventName_set(swigCPtr, (int)value);
282 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
286 ImfManager.ImfEvent ret = (ImfManager.ImfEvent)NDalicManualPINVOKE.ImfManager_ImfEventData_eventName_get(swigCPtr);
287 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
293 /// The start position from the current cursor position to start deleting characters.
295 //Please do not use! this will be deprecated
296 [EditorBrowsable(EditorBrowsableState.Never)]
297 public int cursorOffset
301 NDalicManualPINVOKE.ImfManager_ImfEventData_cursorOffset_set(swigCPtr, value);
302 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
306 int ret = NDalicManualPINVOKE.ImfManager_ImfEventData_cursorOffset_get(swigCPtr);
307 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
313 /// The start position from the current cursor position to start deleting characters.
315 public int CursorOffset
319 NDalicManualPINVOKE.ImfManager_ImfEventData_cursorOffset_set(swigCPtr, value);
320 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
324 int ret = NDalicManualPINVOKE.ImfManager_ImfEventData_cursorOffset_get(swigCPtr);
325 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
331 /// The number of characters to delete from the cursorOffset.
333 //Please do not use! this will be deprecated
334 [EditorBrowsable(EditorBrowsableState.Never)]
335 public int numberOfChars
339 NDalicManualPINVOKE.ImfManager_ImfEventData_numberOfChars_set(swigCPtr, value);
340 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
344 int ret = NDalicManualPINVOKE.ImfManager_ImfEventData_numberOfChars_get(swigCPtr);
345 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
351 /// The number of characters to delete from the cursorOffset.
353 public int NumberOfChars
357 NDalicManualPINVOKE.ImfManager_ImfEventData_numberOfChars_set(swigCPtr, value);
358 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
362 int ret = NDalicManualPINVOKE.ImfManager_ImfEventData_numberOfChars_get(swigCPtr);
363 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
371 /// Data required by the IMF from the callback.
373 public class ImfCallbackData : global::System.IDisposable
375 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
376 protected bool swigCMemOwn;
378 internal IntPtr GetImfCallbackDataPtr()
380 return (IntPtr)swigCPtr;
383 internal ImfCallbackData(IntPtr cPtr, bool cMemoryOwn)
385 swigCMemOwn = cMemoryOwn;
386 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
389 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfCallbackData obj)
391 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
394 //A Flag to check who called Dispose(). (By User or DisposeQueue)
395 private bool isDisposeQueued = false;
396 //A Flat to check if it is already disposed.
397 protected bool disposed = false;
402 if (!isDisposeQueued)
404 isDisposeQueued = true;
405 DisposeQueue.Instance.Add(this);
410 /// The dispose pattern.
412 public void Dispose()
414 //Throw excpetion if Dispose() is called in separate thread.
415 if (!Window.IsInstalled())
417 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
422 Dispose(DisposeTypes.Implicit);
426 Dispose(DisposeTypes.Explicit);
427 System.GC.SuppressFinalize(this);
431 protected virtual void Dispose(DisposeTypes type)
438 if (type == DisposeTypes.Explicit)
441 //Release your own managed resources here.
442 //You should release all of your own disposable objects here.
446 //Release your own unmanaged resources here.
447 //You should not access any managed member here except static instance.
448 //because the execution order of Finalizes is non-deterministic.
450 if (swigCPtr.Handle != IntPtr.Zero)
455 NDalicManualPINVOKE.delete_ImfManager_ImfCallbackData(swigCPtr);
457 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
463 internal static ImfCallbackData GetImfCallbackDataFromPtr(IntPtr cPtr)
465 ImfCallbackData ret = new ImfCallbackData(cPtr, false);
466 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
471 /// The default constructor.
473 public ImfCallbackData() : this(NDalicManualPINVOKE.new_ImfManager_ImfCallbackData__SWIG_0(), true)
475 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
481 /// <param name="aUpdate">True if the cursor position needs to be updated.</param>
482 /// <param name="aCursorPosition">The new position of the cursor.</param>
483 /// <param name="aCurrentText">The current text string.</param>
484 /// <param name="aPreeditResetRequired">Flag if preedit reset is required.</param>
485 public ImfCallbackData(bool aUpdate, int aCursorPosition, string aCurrentText, bool aPreeditResetRequired) : this(NDalicManualPINVOKE.new_ImfManager_ImfCallbackData__SWIG_1(aUpdate, aCursorPosition, aCurrentText, aPreeditResetRequired), true)
487 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
491 /// The current text string.
493 //Please do not use! this will be deprecated
494 [EditorBrowsable(EditorBrowsableState.Never)]
495 public string currentText
499 NDalicManualPINVOKE.ImfManager_ImfCallbackData_currentText_set(swigCPtr, value);
500 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
504 string ret = NDalicManualPINVOKE.ImfManager_ImfCallbackData_currentText_get(swigCPtr);
505 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
511 /// The current text string.
513 public string CurrentText
517 NDalicManualPINVOKE.ImfManager_ImfCallbackData_currentText_set(swigCPtr, value);
518 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
522 string ret = NDalicManualPINVOKE.ImfManager_ImfCallbackData_currentText_get(swigCPtr);
523 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
529 /// The current text string.
531 //Please do not use! this will be deprecated
532 [EditorBrowsable(EditorBrowsableState.Never)]
533 public int cursorPosition
537 NDalicManualPINVOKE.ImfManager_ImfCallbackData_cursorPosition_set(swigCPtr, value);
538 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
542 int ret = NDalicManualPINVOKE.ImfManager_ImfCallbackData_cursorPosition_get(swigCPtr);
543 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
549 /// The current text string.
551 public int CursorPosition
555 NDalicManualPINVOKE.ImfManager_ImfCallbackData_cursorPosition_set(swigCPtr, value);
556 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
560 int ret = NDalicManualPINVOKE.ImfManager_ImfCallbackData_cursorPosition_get(swigCPtr);
561 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
567 /// If the cursor position needs to be updated.
569 //Please do not use! this will be deprecated
570 [EditorBrowsable(EditorBrowsableState.Never)]
575 NDalicManualPINVOKE.ImfManager_ImfCallbackData_update_set(swigCPtr, value);
576 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
580 bool ret = NDalicManualPINVOKE.ImfManager_ImfCallbackData_update_get(swigCPtr);
581 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
587 /// If the cursor position needs to be updated.
593 NDalicManualPINVOKE.ImfManager_ImfCallbackData_update_set(swigCPtr, value);
594 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
598 bool ret = NDalicManualPINVOKE.ImfManager_ImfCallbackData_update_get(swigCPtr);
599 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
605 /// Flags if preedit reset is required.
607 //Please do not use! this will be deprecated
608 [EditorBrowsable(EditorBrowsableState.Never)]
609 public bool preeditResetRequired
613 NDalicManualPINVOKE.ImfManager_ImfCallbackData_preeditResetRequired_set(swigCPtr, value);
614 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
618 bool ret = NDalicManualPINVOKE.ImfManager_ImfCallbackData_preeditResetRequired_get(swigCPtr);
619 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
625 /// Flags if preedit reset is required.
627 public bool PreeditResetRequired
631 NDalicManualPINVOKE.ImfManager_ImfCallbackData_preeditResetRequired_set(swigCPtr, value);
632 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
636 bool ret = NDalicManualPINVOKE.ImfManager_ImfCallbackData_preeditResetRequired_get(swigCPtr);
637 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
645 /// Retrieves a handle to the instance of the ImfManager.
647 /// <returns>A handle to the ImfManager.</returns>
648 public static ImfManager Get()
650 ImfManager ret = new ImfManager(NDalicManualPINVOKE.ImfManager_Get(), true);
651 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
656 /// Activates the IMF.<br/>
657 /// It means that the text editing is started somewhere.<br/>
658 /// If the hardware keyboard isn't connected, then it will show the virtual keyboard.
660 public void Activate()
662 NDalicManualPINVOKE.ImfManager_Activate(swigCPtr);
663 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
667 /// Deactivates the IMF.<br/>
668 /// It means that the text editing is finished somewhere.
670 public void Deactivate()
672 NDalicManualPINVOKE.ImfManager_Deactivate(swigCPtr);
673 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
677 /// Gets the restoration status which controls if the keyboard is restored after the focus is lost and then regained.<br/>
678 /// If true, then the keyboard will be restored (activated) after focus is regained.
680 /// <returns>The restoration status.</returns>
681 public bool RestoreAfterFocusLost()
683 bool ret = NDalicManualPINVOKE.ImfManager_RestoreAfterFocusLost(swigCPtr);
684 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
689 /// Sets the status whether the IMF has to restore the keyboard after losing focus.
691 /// <param name="toggle">True means that keyboard should be restored after the focus is lost and regained.</param>
692 public void SetRestoreAfterFocusLost(bool toggle)
694 NDalicManualPINVOKE.ImfManager_SetRestoreAfterFocusLost(swigCPtr, toggle);
695 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
699 /// Sends a message reset to the preedit state or the IMF module.
701 public new void Reset()
703 NDalicManualPINVOKE.ImfManager_Reset(swigCPtr);
704 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
708 /// Notifies the IMF context that the cursor position has changed, required for features like auto-capitalization.
710 public void NotifyCursorPosition()
712 NDalicManualPINVOKE.ImfManager_NotifyCursorPosition(swigCPtr);
713 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
717 /// Sets the cursor position stored in VirtualKeyboard, this is required by the IMF context.
719 /// <param name="cursorPosition">The position of the cursor.</param>
720 public void SetCursorPosition(uint cursorPosition)
722 NDalicManualPINVOKE.ImfManager_SetCursorPosition(swigCPtr, cursorPosition);
723 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
727 /// Gets the cursor position stored in VirtualKeyboard, this is required by the IMF context.
729 /// <returns>The current position of the cursor.</returns>
730 public uint GetCursorPosition()
732 uint ret = NDalicManualPINVOKE.ImfManager_GetCursorPosition(swigCPtr);
733 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
738 /// A method to store the string required by the IMF, this is used to provide predictive word suggestions.
740 /// <param name="text">The text string surrounding the current cursor point.</param>
741 public void SetSurroundingText(string text)
743 NDalicManualPINVOKE.ImfManager_SetSurroundingText(swigCPtr, text);
744 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
748 /// Gets the current text string set within the IMF manager, this is used to offer predictive suggestions.
750 /// <returns>The surrounding text.</returns>
751 public string GetSurroundingText()
753 string ret = NDalicManualPINVOKE.ImfManager_GetSurroundingText(swigCPtr);
754 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
759 /// Notifies the IMF context that text input is set to multiline or not.
761 /// <param name="multiLine">True if multiline text input is used.</param>
762 public void NotifyTextInputMultiLine(bool multiLine)
764 NDalicManualPINVOKE.ImfManager_NotifyTextInputMultiLine(swigCPtr, multiLine);
765 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
769 /// Returns the text direction of the keyboard's current input language.
771 /// <returns>The direction of the text.</returns>
772 public ImfManager.TextDirection GetTextDirection()
774 ImfManager.TextDirection ret = (ImfManager.TextDirection)NDalicManualPINVOKE.ImfManager_GetTextDirection(swigCPtr);
775 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
780 /// Provides the size and the position of the keyboard.<br/>
781 /// The position is relative to whether the keyboard is visible or not.<br/>
782 /// If the keyboard is not visible, then the position will be off the screen.<br/>
783 /// If the keyboard is not being shown when this method is called, the keyboard is partially setup (IMFContext) to get/>
784 /// the values then taken down. So ideally, GetInputMethodArea() should be called after Show().
786 /// <returns>Rectangle which is keyboard panel x, y, width, height.</returns>
787 public Rectangle GetInputMethodArea()
789 Rectangle ret = new Rectangle(NDalicManualPINVOKE.ImfManager_GetInputMethodArea(swigCPtr), true);
790 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
794 internal void ApplyOptions(InputMethodOptions options)
796 NDalicManualPINVOKE.ImfManager_ApplyOptions(swigCPtr, InputMethodOptions.getCPtr(options));
797 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
801 /// Sets up the input-panel specific data.
803 /// <param name="text">The specific data to be set to the input panel.</param>
804 public void SetInputPanelUserData(string text)
806 NDalicManualPINVOKE.ImfManager_SetInputPanelUserData(swigCPtr, text);
807 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
811 /// Gets the specific data of the current active input panel.
813 /// <param name="text">The specific data to be received from the input panel.</param>
814 public void GetInputPanelUserData(out string text)
816 NDalicManualPINVOKE.ImfManager_GetInputPanelUserData(swigCPtr, out text);
817 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
821 /// Gets the state of the current active input panel.
823 /// <returns>The state of the input panel.</returns>
824 public ImfManager.State GetInputPanelState()
826 ImfManager.State ret = (ImfManager.State)NDalicManualPINVOKE.ImfManager_GetInputPanelState(swigCPtr);
827 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
832 /// Sets the return key on the input panel to be visible or invisible.<br/>
833 /// The default is true.
835 /// <param name="visible">True if the return key is visible (enabled), false otherwise.</param>
836 public void SetReturnKeyState(bool visible)
838 NDalicManualPINVOKE.ImfManager_SetReturnKeyState(swigCPtr, visible);
839 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
843 /// Enables to show the input panel automatically when focused.
845 /// <param name="enabled">If true, the input panel will be shown when focused.</param>
846 public void AutoEnableInputPanel(bool enabled)
848 NDalicManualPINVOKE.ImfManager_AutoEnableInputPanel(swigCPtr, enabled);
849 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
853 /// Shows the input panel.
855 public void ShowInputPanel()
857 NDalicManualPINVOKE.ImfManager_ShowInputPanel(swigCPtr);
858 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
862 /// Hides the input panel.
864 public void HideInputPanel()
866 NDalicManualPINVOKE.ImfManager_HideInputPanel(swigCPtr);
867 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
871 /// Gets the keyboard type.<br/>
872 /// The default keyboard type is SoftwareKeyboard.
874 /// <returns>The keyboard type.</returns>
875 public ImfManager.KeyboardType GetKeyboardType()
877 ImfManager.KeyboardType ret = (ImfManager.KeyboardType)NDalicManualPINVOKE.ImfManager_GetKeyboardType(swigCPtr);
878 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
883 /// Gets the current language locale of the input panel.<br/>
884 /// For example, en_US, en_GB, en_PH, fr_FR, ...
886 /// <returns>The current language locale of the input panel.</returns>
887 public string GetInputPanelLocale()
889 string ret = NDalicManualPINVOKE.ImfManager_GetInputPanelLocale(swigCPtr);
890 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
897 public ImfManager() : this(NDalicManualPINVOKE.new_ImfManager(), true)
899 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
903 /// ImfManager activated event arguments.
905 //Please do not use! this will be deprecated
906 [EditorBrowsable(EditorBrowsableState.Never)]
907 public class ImfManagerActivatedEventArgs : EventArgs
909 public ImfManager ImfManager
916 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
917 private delegate void ImfManagerActivatedEventCallbackType(global::System.IntPtr data);
918 private ImfManagerActivatedEventCallbackType _imfManagerActivatedEventCallback;
919 private event EventHandler<ImfManagerActivatedEventArgs> _imfManagerActivatedEventHandler;
922 /// ImfManager activated event.
924 //Please do not use! this will be deprecated
925 [EditorBrowsable(EditorBrowsableState.Never)]
926 public event EventHandler<ImfManagerActivatedEventArgs> ImfManagerActivated
930 if (_imfManagerActivatedEventHandler == null)
932 _imfManagerActivatedEventCallback = OnImfManagerActivated;
933 ActivatedSignal().Connect(_imfManagerActivatedEventCallback);
936 _imfManagerActivatedEventHandler += value;
940 _imfManagerActivatedEventHandler -= value;
942 if (_imfManagerActivatedEventHandler == null && _imfManagerActivatedEventCallback != null)
944 ActivatedSignal().Disconnect(_imfManagerActivatedEventCallback);
949 private void OnImfManagerActivated(global::System.IntPtr data)
951 ImfManagerActivatedEventArgs e = new ImfManagerActivatedEventArgs();
955 e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager;
958 if (_imfManagerActivatedEventHandler != null)
960 _imfManagerActivatedEventHandler(this, e);
965 /// ImfManager activated event arguments.
967 public class ActivatedEventArgs : EventArgs
969 public ImfManager ImfManager
976 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
977 private delegate void ActivatedEventCallbackType(IntPtr data);
978 private ActivatedEventCallbackType _activatedEventCallback;
979 private event EventHandler<ActivatedEventArgs> _activatedEventHandler;
982 /// ImfManager activated.
984 public event EventHandler<ActivatedEventArgs> Activated
988 if (_activatedEventHandler == null)
990 _activatedEventCallback = OnActivated;
991 ActivatedSignal().Connect(_activatedEventCallback);
994 _activatedEventHandler += value;
998 _activatedEventHandler -= value;
1000 if (_activatedEventHandler == null && _activatedEventCallback != null)
1002 ActivatedSignal().Disconnect(_activatedEventCallback);
1007 private void OnActivated(IntPtr data)
1009 ActivatedEventArgs e = new ActivatedEventArgs();
1013 e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager;
1016 if (_activatedEventHandler != null)
1018 _activatedEventHandler(this, e);
1023 /// ImfManager activated signal.
1025 //Please do not use! this will be internal
1026 [EditorBrowsable(EditorBrowsableState.Never)]
1027 public ActivatedSignalType ActivatedSignal()
1029 ActivatedSignalType ret = new ActivatedSignalType(NDalicManualPINVOKE.ImfManager_ActivatedSignal(swigCPtr), false);
1030 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1035 /// ImfManager event received event arguments.
1037 //Please do not use! this will be deprecated
1038 [EditorBrowsable(EditorBrowsableState.Never)]
1039 public class ImfManagerEventReceivedEventArgs : EventArgs
1041 public ImfManager ImfManager
1048 private delegate void ImfManagerEventReceivedEventCallbackType(global::System.IntPtr data);
1049 private ImfManagerEventReceivedEventCallbackType _imfManagerEventReceivedEventCallback;
1050 private event EventHandler<ImfManagerEventReceivedEventArgs> _imfManagerEventReceivedEventHandler;
1053 /// ImfManager event received.
1055 //Please do not use! this will be deprecated
1056 [EditorBrowsable(EditorBrowsableState.Never)]
1057 public event EventHandler<ImfManagerEventReceivedEventArgs> ImfManagerEventReceived
1061 if (_imfManagerEventReceivedEventHandler == null)
1063 _imfManagerEventReceivedEventCallback = OnImfManagerEventReceived;
1064 EventReceivedSignal().Connect(_imfManagerEventReceivedEventCallback);
1067 _imfManagerEventReceivedEventHandler += value;
1071 _imfManagerEventReceivedEventHandler -= value;
1073 if (_imfManagerEventReceivedEventHandler == null && _imfManagerEventReceivedEventCallback != null)
1075 EventReceivedSignal().Disconnect(_imfManagerEventReceivedEventCallback);
1080 private void OnImfManagerEventReceived(global::System.IntPtr data)
1082 ImfManagerEventReceivedEventArgs e = new ImfManagerEventReceivedEventArgs();
1086 e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager;
1089 if (_imfManagerEventReceivedEventHandler != null)
1091 _imfManagerEventReceivedEventHandler(this, e);
1096 /// ImfManager event received event arguments.
1098 public class EventReceivedEventArgs : EventArgs
1100 public ImfManager ImfManager
1106 public ImfEventData ImfEventData
1113 private delegate IntPtr EventReceivedEventCallbackType(IntPtr imfManager, IntPtr imfEventData);
1114 private EventReceivedEventCallbackType _eventReceivedEventCallback;
1115 private event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> _eventReceivedEventHandler;
1118 /// ImfManager event received.
1120 public event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> EventReceived
1124 if (_eventReceivedEventHandler == null)
1126 _eventReceivedEventCallback = OnEventReceived;
1127 EventReceivedSignal().Connect(_eventReceivedEventCallback);
1130 _eventReceivedEventHandler += value;
1134 _eventReceivedEventHandler -= value;
1136 if (_eventReceivedEventHandler == null && _eventReceivedEventCallback != null)
1138 EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
1143 private IntPtr OnEventReceived(IntPtr imfManager, IntPtr imfEventData)
1145 ImfCallbackData imfCallbackData = null;
1147 EventReceivedEventArgs e = new EventReceivedEventArgs();
1149 if (imfManager != null)
1151 e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(imfManager) as ImfManager;
1153 if (imfEventData != null)
1155 e.ImfEventData = ImfEventData.GetImfEventDataFromPtr(imfEventData);
1158 if (_eventReceivedEventHandler != null)
1160 imfCallbackData = _eventReceivedEventHandler(this, e);
1162 if (imfCallbackData != null)
1164 return imfCallbackData.GetImfCallbackDataPtr();
1168 return new ImfCallbackData().GetImfCallbackDataPtr();
1173 /// ImfManager event received signal.
1175 //Please do not use! this will be internal
1176 [EditorBrowsable(EditorBrowsableState.Never)]
1177 public ImfEventSignalType EventReceivedSignal()
1179 ImfEventSignalType ret = new ImfEventSignalType(NDalicManualPINVOKE.ImfManager_EventReceivedSignal(swigCPtr), false);
1180 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1185 /// ImfManager status changed event arguments.
1187 //Please do not use! this will be deprecated
1188 [EditorBrowsable(EditorBrowsableState.Never)]
1189 public class ImfManagerStatusChangedEventArgs : EventArgs
1191 public ImfManager ImfManager
1198 private delegate void ImfManagerStatusChangedEventCallbackType(global::System.IntPtr data);
1199 private ImfManagerStatusChangedEventCallbackType _imfManagerStatusChangedEventCallback;
1200 private event EventHandler<ImfManagerStatusChangedEventArgs> _imfManagerStatusChangedEventHandler;
1203 /// ImfManager status changed.
1205 //Please do not use! this will be deprecated
1206 [EditorBrowsable(EditorBrowsableState.Never)]
1207 public event EventHandler<ImfManagerStatusChangedEventArgs> ImfManagerStatusChanged
1211 if (_imfManagerStatusChangedEventHandler == null)
1213 _imfManagerStatusChangedEventCallback = OnImfManagerStatusChanged;
1214 StatusChangedSignal().Connect(_imfManagerStatusChangedEventCallback);
1217 _imfManagerStatusChangedEventHandler += value;
1221 _imfManagerStatusChangedEventHandler -= value;
1223 if (_imfManagerStatusChangedEventHandler == null && _imfManagerStatusChangedEventCallback != null)
1225 StatusChangedSignal().Disconnect(_imfManagerStatusChangedEventCallback);
1230 private void OnImfManagerStatusChanged(global::System.IntPtr data)
1232 ImfManagerStatusChangedEventArgs e = new ImfManagerStatusChangedEventArgs();
1236 e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager;
1239 if (_imfManagerStatusChangedEventHandler != null)
1241 _imfManagerStatusChangedEventHandler(this, e);
1246 /// ImfManager status changed event arguments.
1248 public class StatusChangedEventArgs : EventArgs
1250 public bool StatusChanged
1257 private delegate void StatusChangedEventCallbackType(bool statusChanged);
1258 private StatusChangedEventCallbackType _statusChangedEventCallback;
1259 private event EventHandler<StatusChangedEventArgs> _statusChangedEventHandler;
1262 /// ImfManager status changed.
1264 public event EventHandler<StatusChangedEventArgs> StatusChanged
1268 if (_statusChangedEventHandler == null)
1270 _statusChangedEventCallback = OnStatusChanged;
1271 StatusChangedSignal().Connect(_statusChangedEventCallback);
1274 _statusChangedEventHandler += value;
1278 _statusChangedEventHandler -= value;
1280 if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
1282 StatusChangedSignal().Disconnect(_statusChangedEventCallback);
1287 private void OnStatusChanged(bool statusChanged)
1289 StatusChangedEventArgs e = new StatusChangedEventArgs();
1291 e.StatusChanged = statusChanged;
1293 if (_statusChangedEventHandler != null)
1295 _statusChangedEventHandler(this, e);
1300 /// ImfManager status changed signal.
1302 //Please do not use! this will be internal
1303 [EditorBrowsable(EditorBrowsableState.Never)]
1304 public StatusSignalType StatusChangedSignal()
1306 StatusSignalType ret = new StatusSignalType(NDalicManualPINVOKE.ImfManager_StatusChangedSignal(swigCPtr), false);
1307 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1312 /// ImfManager resized event arguments.
1314 //Please do not use! this will be deprecated
1315 [EditorBrowsable(EditorBrowsableState.Never)]
1316 public class ImfManagerResizedEventArgs : EventArgs
1318 public ImfManager ImfManager
1325 private delegate void ImfManagerResizedEventCallbackType(IntPtr data);
1326 private ImfManagerResizedEventCallbackType _imfManagerResizedEventCallback;
1327 private event EventHandler<ImfManagerResizedEventArgs> _imfManagerResizedEventHandler;
1330 /// ImfManager resized event.
1332 //Please do not use! this will be deprecated
1333 [EditorBrowsable(EditorBrowsableState.Never)]
1334 public event EventHandler<ImfManagerResizedEventArgs> ImfManagerResized
1338 if (_imfManagerResizedEventHandler == null)
1340 _imfManagerResizedEventCallback = OnImfManagerResized;
1341 ResizedSignal().Connect(_imfManagerResizedEventCallback);
1344 _imfManagerResizedEventHandler += value;
1348 _imfManagerResizedEventHandler -= value;
1350 if (_imfManagerResizedEventHandler == null && _imfManagerResizedEventCallback != null)
1352 ResizedSignal().Disconnect(_imfManagerResizedEventCallback);
1357 private void OnImfManagerResized(IntPtr data)
1359 ImfManagerResizedEventArgs e = new ImfManagerResizedEventArgs();
1363 e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager;
1366 if (_imfManagerResizedEventHandler != null)
1368 _imfManagerResizedEventHandler(this, e);
1372 private delegate void ResizedEventCallbackType();
1373 private ResizedEventCallbackType _resizedEventCallback;
1374 private event EventHandler _resizedEventHandler;
1377 /// ImfManager resized.
1379 public event EventHandler Resized
1383 if (_resizedEventHandler == null)
1385 _resizedEventCallback = OnResized;
1386 ResizedSignal().Connect(_resizedEventCallback);
1389 _resizedEventHandler += value;
1393 _resizedEventHandler -= value;
1395 if (_resizedEventHandler == null && _resizedEventCallback != null)
1397 ResizedSignal().Disconnect(_resizedEventCallback);
1402 private void OnResized()
1404 if (_resizedEventHandler != null)
1406 _resizedEventHandler(this, null);
1411 /// ImfManager resized signal.
1413 //Please do not use! this will be internal
1414 [EditorBrowsable(EditorBrowsableState.Never)]
1415 public ImfVoidSignalType ResizedSignal()
1417 ImfVoidSignalType ret = new ImfVoidSignalType(NDalicManualPINVOKE.ImfManager_ResizedSignal(swigCPtr), false);
1418 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1423 /// ImfManager language changed event arguments.
1425 //Please do not use! this will be deprecated
1426 [EditorBrowsable(EditorBrowsableState.Never)]
1427 public class ImfManagerLanguageChangedEventArgs : EventArgs
1429 public ImfManager ImfManager
1436 private delegate void ImfManagerLanguageChangedEventCallbackType(IntPtr data);
1437 private ImfManagerLanguageChangedEventCallbackType _imfManagerLanguageChangedEventCallback;
1438 private event EventHandler<ImfManagerLanguageChangedEventArgs> _imfManagerLanguageChangedEventHandler;
1441 /// ImfManager language changed event.
1443 //Please do not use! this will be deprecated
1444 [EditorBrowsable(EditorBrowsableState.Never)]
1445 public event EventHandler<ImfManagerLanguageChangedEventArgs> ImfManagerLanguageChanged
1449 if (_imfManagerLanguageChangedEventHandler == null)
1451 _imfManagerLanguageChangedEventCallback = OnImfManagerLanguageChanged;
1452 LanguageChangedSignal().Connect(_imfManagerLanguageChangedEventCallback);
1455 _imfManagerLanguageChangedEventHandler += value;
1459 _imfManagerLanguageChangedEventHandler -= value;
1461 if (_imfManagerLanguageChangedEventHandler == null && _imfManagerLanguageChangedEventCallback != null)
1463 LanguageChangedSignal().Disconnect(_imfManagerLanguageChangedEventCallback);
1468 private void OnImfManagerLanguageChanged(IntPtr data)
1470 ImfManagerLanguageChangedEventArgs e = new ImfManagerLanguageChangedEventArgs();
1474 e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager;
1477 if (_imfManagerLanguageChangedEventHandler != null)
1479 _imfManagerLanguageChangedEventHandler(this, e);
1483 private delegate void LanguageChangedEventCallbackType();
1484 private LanguageChangedEventCallbackType _languageChangedEventCallback;
1485 private event EventHandler _languageChangedEventHandler;
1488 /// ImfManager language changed.
1490 public event EventHandler LanguageChanged
1494 if (_languageChangedEventHandler == null)
1496 _languageChangedEventCallback = OnLanguageChanged;
1497 LanguageChangedSignal().Connect(_languageChangedEventCallback);
1500 _languageChangedEventHandler += value;
1504 _languageChangedEventHandler -= value;
1506 if (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
1508 LanguageChangedSignal().Disconnect(_languageChangedEventCallback);
1513 private void OnLanguageChanged()
1515 if (_languageChangedEventHandler != null)
1517 _languageChangedEventHandler(this, null);
1522 /// ImfManager language changed signal.
1524 //Please do not use! this will be internal
1525 [EditorBrowsable(EditorBrowsableState.Never)]
1526 public ImfVoidSignalType LanguageChangedSignal()
1528 ImfVoidSignalType ret = new ImfVoidSignalType(NDalicManualPINVOKE.ImfManager_LanguageChangedSignal(swigCPtr), false);
1529 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1534 /// ImfManager keyboard type changed event arguments.
1536 public class KeyboardTypeChangedEventArgs : EventArgs
1538 public KeyboardType KeyboardType
1545 private delegate void KeyboardTypeChangedEventCallbackType(KeyboardType type);
1546 private KeyboardTypeChangedEventCallbackType _keyboardTypeChangedEventCallback;
1547 private event EventHandler<KeyboardTypeChangedEventArgs> _keyboardTypeChangedEventHandler;
1550 /// ImfManager keyboard type changed.
1552 public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
1556 if (_keyboardTypeChangedEventHandler == null)
1558 _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
1559 KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
1562 _keyboardTypeChangedEventHandler += value;
1566 _keyboardTypeChangedEventHandler -= value;
1568 if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
1570 KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
1575 private void OnKeyboardTypeChanged(KeyboardType type)
1577 KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
1579 e.KeyboardType = type;
1581 if (_keyboardTypeChangedEventHandler != null)
1583 _keyboardTypeChangedEventHandler(this, e);
1587 internal KeyboardTypeSignalType KeyboardTypeChangedSignal()
1589 KeyboardTypeSignalType ret = new KeyboardTypeSignalType(NDalicManualPINVOKE.ImfManager_KeyboardTypeChangedSignal(swigCPtr), false);
1590 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1595 /// The direction of the text.
1597 public enum TextDirection
1610 /// Events that are generated by the IMF.
1612 public enum ImfEvent
1619 /// Pre-Edit changed.
1623 /// Commit recieved.
1627 /// An event to delete a range of characters from the string.
1631 /// An event to query string and the cursor position.
1635 /// Private command sent from the input panel.
1641 /// Enumeration for the state of the input panel.
1650 /// Input panel is shown.
1654 /// Input panel is hidden.
1658 /// Input panel in process of being shown.
1664 /// Enumeration for the types of keyboard.
1666 public enum KeyboardType
1669 /// Software keyboard (virtual keyboard) is default.
1673 /// Hardware keyboard.