<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">It sure seems to me that this has to be in a library run by the application, and Wayland just delivers raw events. Reasons include:<div><br></div><div>- Applications want raw input events a lot (such as graphical portions where they want the letters to be shortcuts) and thus need to rapidly and accurately turn input methods on/off. This is trivial if the application just calls the input method.</div><div><br></div><div>- Input methods want to know what text is next to the cursor, not just what keys were typed.</div><div><br></div><div>- Input methods could display small hints in exactly the right font, size, and position and actually inserted into the text, rather than a pop-up window or invisible as most compose-key methods do today. Also allows smarter cancellation, for instance composekey+a+e produces the ae ligature, but composekey+a shows an 'a' and if the user types 'x' the result is a and x rather than just x or nothing.</div><div><br></div><div>- Most input methods are designed to be synchronous with the application state. For instance they often want to know when the user changes what text field is being edited, or they move the cursor, or select text.</div><div><br></div><div>- Avoids putting a big complex api into the Wayland&nbsp;</div><div><br></div><div>I can think of reasons to argue against this:</div><div><br></div><div>- Input method probably depends a lot on the keyboard layout, meaning it has to change when an app migrates from one display to another</div><div><br></div><div>- Applications can have different input methods, resulting in the dreaded (though never observed in the wild) "user confusion".</div><div><br></div><div>- The library is going to be huge and if it's code or data is not shared between all instances it will waste memory.</div><div><br></div><div>But these sort of arguments can be made about every design decision about Wayland, and about many portions of X, Windows, OS/X, Android, and every other user interface ever designed.</div><div><br></div><div><div><div>On Jul 8, 2011, at 11:40 PM, manish sharma wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi,<br><br>I am a input method developer, wondering how input methods will work in wayland? Is there going to be a protocol for it something similar to <a href="http://www.x.org/docs/XIM/xim.pdf">www.x.org/docs/XIM/xim.pdf</a>?<br> <br>If yes then i will be very happy to get more information on this.<br><br>Thanks,<br>Manish<br><br> _______________________________________________<br>wayland-devel mailing list<br><a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>http://lists.freedesktop.org/mailman/listinfo/wayland-devel<br></blockquote></div><br></div></body></html>