50 void setEnabled(
bool enable);
55 bool isActive()
const;
56 void setActive(
bool active);
59 bool isVisible()
const;
60 bool isAvailable()
const;
64 void setInputMethodCommand(
const QString &path);
67 bool shouldShowOnActive()
const;
69 void forwardModifiers(ForwardModifiersForce force);
70 bool activeClientSupportsTextInput()
const;
83 void handleFocusedSurfaceChanged();
84 void surroundingTextChanged();
85 void contentTypeChanged();
86 void textInputInterfaceV1EnabledChanged();
87 void textInputInterfaceV2EnabledChanged();
88 void textInputInterfaceV3EnabledChanged();
89 void stateCommitted(uint32_t serial);
90 void textInputInterfaceV1StateUpdated(quint32 serial);
91 void textInputInterfaceV1Reset();
92 void invokeAction(quint32 button, quint32 index);
94 void textInputInterfaceV3EnableRequested();
97 void setPreeditString(uint32_t serial,
const QString &text,
const QString &commit);
98 void setPreeditStyling(quint32 index, quint32 length, quint32 style);
99 void setPreeditCursor(qint32 index);
100 void key(quint32 serial, quint32 time, quint32 key,
bool pressed);
101 void modifiers(quint32 serial, quint32 mods_depressed, quint32 mods_latched, quint32 mods_locked, quint32 group);
104 void updateInputPanelState();
105 void adoptInputMethodContext();
106 void commitString(qint32 serial,
const QString &text);
107 void keysymReceived(quint32 serial, quint32 time, quint32 sym,
bool pressed, quint32 modifiers);
108 void deleteSurroundingText(int32_t index, uint32_t length);
109 void setCursorPosition(qint32 index, qint32 anchor);
110 void setLanguage(uint32_t serial,
const QString &language);
111 void setTextDirection(uint32_t serial, Qt::LayoutDirection direction);
112 void startInputMethod();
113 void stopInputMethod();
114 void setTrackedWindow(
Window *trackedWindow);
116 void updateModifiersMap(
const QByteArray &modifiers);
118 bool touchEventTriggered()
const;
119 void resetPendingPreedit();
120 void refreshActive();
124 QString text = QString();
129 bool m_enabled =
true;
130 quint32 m_serial = 0;
131 QPointer<InputPanelV1Window> m_panel;
132 QPointer<Window> m_trackedWindow;
133 QPointer<InputMethodGrabV1> m_keyboardGrab;
135 QProcess *m_inputMethodProcess =
nullptr;
136 QTimer m_inputMethodCrashTimer;
137 uint m_inputMethodCrashes = 0;
138 QString m_inputMethodCommand;
140 bool m_hasPendingModifiers =
false;
141 bool m_activeClientSupportsTextInput =
false;
142 bool m_shouldShowPanel =
false;