Have you checked for updates in Settings > System?: Yes
Please describe your issue in as much detail as possible:
Describe what you expected should happen and what did happen.
All of the "intermediate-inputs" are inputted into application if I type Korean with external keyboard.
Screenshots
Expected Results:
Actual Results:
Notice the ㅇ아안안ㄴ녀녕녕.
The intermediate inputs for entering 안, (ㅇ아안) and 녕 (ㄴ녀녕) is all being inputted to the application.
Extra explanations
Korean 2-Set keyboard composes character by getting multiple keystrokes to create a one single character.
For example: in order to enter 안:
Press ㅇ to make ㅇ
Press ㅏ to make 아
This is where input handler comes to play, combining characters, you can use libhangul for implementing this
Press ㄴ to make 안
When input handler detects that character is complete input handler returns a finalized character
Depending on next keystroke that can not compose using previous character (in this case, 안)
(Counter example: ㅈ after 안 can compose into 앉)
Leaving the input field entirely
The problem here is ibus-hangul has changed default behavior how intermediate inputs (ㅇ, 아, 안) is displayed via application (via ibus's surrounding-text), and since application can not handle it (application only supporting xim only), It inputs into application, inputting all intermediate inputs (ㅇ, 아, 안) and composed input (안), ruining user's input.
Steps for reproducing this issue:
Go to Desktop mode
Bring up the SteamDeck's on screen keyboard via STEAM+X, and Press the Globe key to change language to Korean
Check the input method was changed to ibus-hangul at the status bar.
Plug in external keyboard
Open up applications that does not support ibus's surrounding-text mode. (e.g. Discord, VSCode (Electron app), Google Chrome, etc.)
Type Korean in any input field in
See application outputting bunch of:
IBUS-WARNING **: HH:mm:ss.sss: [Application name] has no capability of surrounding-text feature
and applications are displaying bunch of "intermediate-input" characters
This issue is reproducible outside of flatpak sandbox. therefore, This is NOT a flatpak issue.
Some applications that support surrounding-text does work properly. But since there are lots of applications that does not support surrounding-text since most of the "Cross-platform apps" are electron based at the moment, This seems to be an issue and developers doesn't seems to be caring about supporting one (https://github.com/libhangul/ibus-hangul/issues/69#issuecomment-441623129) especially since other input handlers works without adding a support.
Possible solution
Use ibus-hangul's buggy preedit-mode based implementation by setting dconf /org/freedesktop/ibus/engine/hangul/preedit-mode to "syllable".
This will break current Steamdeck's on screen keyboard
This implementation has previously known for constant ignoring of keypresses
Wait for application developers to implement proper surrounding-text support
Your system information
1666399660
20221003.100
Please describe your issue in as much detail as possible:
Describe what you expected should happen and what did happen.
All of the "intermediate-inputs" are inputted into application if I type Korean with external keyboard.
Screenshots
Expected Results:
Actual Results:
Notice the ㅇ아안 안ㄴ녀녕 녕.
The intermediate inputs for entering
안
, (ㅇ
아
안
) and 녕 (ㄴ
녀
녕
) is all being inputted to the application.Extra explanations
Korean 2-Set keyboard composes character by getting multiple keystrokes to create a one single character. For example: in order to enter
안
:ㅇ
to makeㅇ
ㅏ
to make아
This is where input handler comes to play, combining characters, you can use libhangul for implementing thisㄴ
to make안
안
) (Counter example:ㅈ
after안
can compose into앉
)The problem here is
ibus-hangul
has changed default behavior how intermediate inputs (ㅇ
,아
,안
) is displayed via application (viaibus
'ssurrounding-text
), and since application can not handle it (application only supportingxim
only), It inputs into application, inputting all intermediate inputs (ㅇ
,아
,안
) and composed input (안
), ruining user's input.Steps for reproducing this issue:
STEAM
+X
, and Press the Globe key to change language to Korean Check the input method was changed toibus-hangul
at the status bar.ibus
'ssurrounding-text
mode. (e.g. Discord, VSCode (Electron app), Google Chrome, etc.)and applications are displaying bunch of "intermediate-input" characters
Related Issue
https://github.com/libhangul/ibus-hangul/issues/69
Notes
surrounding-text
does work properly. But since there are lots of applications that does not support surrounding-text since most of the "Cross-platform apps" are electron based at the moment, This seems to be an issue and developers doesn't seems to be caring about supporting one (https://github.com/libhangul/ibus-hangul/issues/69#issuecomment-441623129) especially since other input handlers works without adding a support.Possible solution
ibus-hangul
's buggypreedit-mode
based implementation by setting dconf/org/freedesktop/ibus/engine/hangul/preedit-mode
to"syllable"
.surrounding-text
supportxim
.nimf
- https://github.com/hamonikr/nimf (Recommended)fcitx
- https://github.com/fcitx/fcitx