Objo.
Feedback Forum Docs Objo Studio
Feedback

Feature #1721

Add a CharacterPressed event to handle composed characters (dead keys and IME)

Status
Fixed
Fixed in
v26.10.2
Area
desktop web
Source discussion
https://forum.objo.dev/d/1312-add-a-characterpressed-event-to-handle-the-composed-character
Last updated
2026-10-12

Upvotes

0 upvotes

Uses your Objo forum account.

Public summary

Typing characters that are composed rather than typed directly cannot currently be observed or filtered in Objo code. The KeyDown event is a raw key event by design: it fires per physical key press, before the platform has done any composition work. When a user types a dead-key composition (¨ then e to produce ë) or commits text through an input method (Chinese pinyin, Japanese kana conversion, and so on), the finished character never surfaces in any event. On Windows, IME intermediate keystrokes arrive as KeyDown with key name ImeProcessed; on the web, composing keystrokes are suppressed entirely. There is no way for user code to receive the composed character, and no way to veto it before an editable control inserts it.

Add a CharacterPressed event to the controls that already have KeyDown (desktop and web: TextField, TextArea, NumericTextField, SearchField, TagField, Canvas, GameCanvas, ListBox, HTMLViewer, and the Window fallback). It fires when text is actually committed through the platform text-input pipeline: an ordinary character keystroke, a dead-key completion, or an input-method commit. The handler receives the committed text as a string (input methods can commit multiple characters at once) and may return True to consume it, exactly matching the existing KeyDown return convention: the text never reaches an editable control, and on non-editable controls the event stops there instead of bubbling to ancestors.

Source: forum request https://forum.objo.dev/d/1312-add-a-characterpressed-event-to-handle-the-composed-character (includes a video and an IME trace demonstrating that composition cannot be reconstructed from KeyDown sequences).

Objo.

Build apps visually, deploy anywhere.

Feedback is a public read-only status mirror for Objo Studio.