korean-input / issues

한국어 입력 이슈 트래커
90 stars 0 forks source link

Wayland IME 현황 #6

Open Riey opened 3 years ago

Riey commented 3 years ago

설명

기본적으로 클라이언트 <-> 컴포지터 <-> 입력기 구조

이때 클라이언트 <-> 컴포지터 사이에 text-input 프로토콜이, 컴포지터 <-> 입력기 사이에 input-method 프로토콜이 사용됨

양쪽이 해당 프로토콜을 구현해야 통신이 가능한데

여기서 text-input 프로토콜은 text-input-unstable-v3가 널리 구현돼있지만

input-method 프로토콜은 제대로 정리가 안돼있음

현황

GNOME 쪽에선 자체 프로토콜을 사용해서 input-method 프로토콜을 무시함

KDE는 input-method-unstable-v1를 구현함

Sway는 정식 채택되지 않은 unstable 프로토콜인 input-method-unstable-v2를 사용함 문제는 이것도 전부 구현되지 않아서 실제로 사용은 어려움

즉 세가지 컴포지터들의 구현이 다 제각각

참고자료

https://dcz_self.gitlab.io/posts/input_method/

simnalamburt commented 3 years ago

현재 KDE wayland compositor의 경우 fcitx5, nimf, ibus 등 input-method-unstable-v1 프로토콜을 구현하는 한국어 입력기를 사용하면 안정적인 한국어 입력이 가능함

그리고 sway의 경우 sway-im을 쓸 경우 (XIM on XWayland 제외) 안정적인 한국어 입력이 가능함:

Riey commented 3 years ago

wayland-protocols에 input-method 이슈가 열렸습니다

https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/40

OctopusET commented 2 years ago

https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/112

관련 PR입니다

Riey commented 2 years ago

https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/112

관련 PR입니다

https://gitlab.freedesktop.org/emersion/wayland-protocols/-/merge_requests/2

저도 하나 넣어뒀습니다 잘되면 좋겠네요 여전히 끝글자 버그는 못막는 스펙이던데

simnalamburt commented 2 years ago

input-method-v3가 새로 생겼군요.. input-method-v3에서 끝글자 버그를 막으려면 혹시 어떤게 필요한가요? (기존에 논의된게 있다면 링크라두)

Riey commented 2 years ago

input-method-v3가 새로 생겼군요.. input-method-v3에서 끝글자 버그를 막으려면 혹시 어떤게 필요한가요? (기존에 논의된게 있다면 링크라두)

@simnalamburt focus-out이랑 click 이벤트를 받을수 있어야 합니다 deactivate가 focus-out이랑 비슷하긴한데 이거 받는 시점에선 이전 text-input에 접근이 불가능해져서 의미가 없었고요

위에있는 제 PR이랑 링크된 코멘트 참고하시면 됩니다

OctopusET commented 2 years ago

https://wiki.qt.io/QtCS2021_-_Wayland_text-input-unstable-v4_protocol

text-input-unstable-v4 프로토콜에 대한 새로운 논의 페이지 입니다.

OctopusET commented 2 years ago

https://gitlab.freedesktop.org/wayland/wayland-protocols/-/commits/wip/text-input-next/

관련 브랜치 입니다

hodong-kim commented 1 year ago

제가 wayfire 에 관심이 있어서 wayland input protocol 을 살펴보았는데 결함이 있는 것을 확인했습니다.

(한국어) https://nimfsoft.art/ko/blog/the-reality-of-wayland-input-methods-in-2022/

(영어) https://nimfsoft.art/blog/the-reality-of-wayland-input-methods-in-2022/

Wayland input protocol 및 wlroot input protocol 은 폐기되어야 하며,

wayland-im, xim, gtk-im, qt-im 등을 모두 통합할 수 있는 공통 입력 방식 API 가 개발되어야 할 것입니다.

OctopusET commented 1 year ago

@hodong-kim 정보 감사합니다. https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/112 프로토콜 관련은 이쪽에서 논의가 됭고 있으니, 이곳에 공유하시면 좋을 것 같습니다. 혹은 제가 대신 공유 드릴수 도 있습니다. 비 라틴계열 언어 입력지원을 해당 개발자들은 잘 모르는 부분이 많아서 직접 설명해주신다면 개발에 큰 도움이 될 겁니다. 감사합니다.

OctopusET commented 1 year ago

이미 올려주셨군요, 감사합니다.

simnalamburt commented 1 year ago

FYI: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/40#note_1723866 에서 논의가 이뤄지는중

hodong-kim commented 1 year ago

자체적으로 공통 입력 방식(CIM: Common Input Method)을 개발 중입니다.

nimf, kime, ibus, fcitx, uim, XIM, Gtk-IM, Qt_IM, Wayland-IM 등 모두 통합이 가능할 것으로 기대하고 있습니다.

https://github.com/hodong-kim/cim

inhosens commented 7 months ago

text-input protocol은 그동안 wayland에 정식으로 포함되지 못했지만 text-input-unstable-v3 가 공식적으로 사용될 것입니다.

OctopusET commented 1 week ago

새로 진행중인 chromium text-input-v3 패치 https://chromium-review.googlesource.com/c/chromium/src/+/5630587

OctopusET commented 1 week ago

https://lists.freedesktop.org/archives/wayland-devel/2024-June/043681.html 7/2에 예정된 text-input protocol 관련 미팅