<HTML><HEAD><TITLE>Samsung Enterprise Portal mySingle</TITLE>
<META content="text/html; charset=euc-kr" http-equiv=Content-Type>
<STYLE id=mysingle_style type=text/css>P {
        MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt; FONT-FAMILY: ±¼¸²Ã¼, arial; MARGIN-TOP: 5px
}
TD {
        MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt; FONT-FAMILY: ±¼¸²Ã¼, arial; MARGIN-TOP: 5px
}
LI {
        MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt; FONT-FAMILY: ±¼¸²Ã¼, arial; MARGIN-TOP: 5px
}
BODY {
        FONT-SIZE: 9pt; FONT-FAMILY: ±¼¸²Ã¼, arial; MARGIN: 10px; LINE-HEIGHT: 1.4
}
</STYLE>

<META content=IE=5 http-equiv=X-UA-Compatible>
<META name=GENERATOR content=ActiveSquare></HEAD>
<BODY>
<P>Dear Daniel, thanks for your quick answer. :)</P>
<P>In theory, one or more keysym can be mapped to each corresponding keycode</P>
<P>therefore we need to look through the keymap to find them out. I agree with you on that. :)</P>
<P> </P>
<P>Actually, we'd like to provide a key grab protocol to wayland client(s)</P>
<P>with which each client can make request to grab a key to wayland compositor.</P>
<P>To use the protocol, we need to provide one or more keycodes associated with a given keysym to the compositor as an argument.</P>
<P>At this moment we would like to call the following API to get keycode(s) from a keysym if exist.</P>
<P>Could you share your opinion ?</P>
<P> </P>
<P>/**</P>
<P> @param[in] keymap : xkb_keymap pointer</P>
<P> @param[in] keysym : xkb_keysym_t keysym</P>
<P> @param[out] keycodes array : xkb_keycode_t pointer</P>
<P> @return number of keycodes found on success, otherwise -1</P>
<P>*/</P>
<P>XKB_EXPORT int xkb_keycodes_from_keysym(struct xkb_keymap *keymap, xkb_keysym_t keysym, xkb_keycode_t *keycodes);</P>
<P>or XKB_EXPORT int xkb_keymap_keycodes_from_keysym(struct xkb_keymap *keymap, xkb_keysym_t keysym, xkb_keycode_t *keycodes);</P>
<P> </P>
<P>Thanks and regards,</P>
<P>Sung-Jin Park</P>
<P> </P>
<P>------- <B>Original Message</B> -------</P>
<P><B>Sender</B> : Daniel Stone<daniel@fooishbar.org></P>
<P><B>Date</B> : 2015-06-01 18:57 (GMT+09:00)</P>
<P><B>Title</B> : Re: [libxkbcommon] Question about how to get xkb_keycode_t from xkb_keysym_t.</P>
<P> </P>
<DIV dir=ltr>Hi Sung-Jin, 
<DIV class=gmail_extra><BR>
<DIV class=gmail_quote>On 1 June 2015 at 07:16, Sung-Jin Park <SPAN dir=ltr><<A href="mailto:sj76.park@samsung.com" target=_blank>sj76.park@samsung.com</A>></SPAN> wrote:<BR>
<BLOCKQUOTE class=gmail_quote style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<DIV>
<P><SPAN style="FONT-SIZE: 16px; FONT-FAMILY: '¸¼Àº °íµñ'; COLOR: rgb(51,51,51); LINE-HEIGHT: 25px">I'd like to ask how to get keycode(s) from keysym using libxkbcommon API.</SPAN><BR></P>
<DIV style="WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(34,34,34); FONT: small arial,sans-serif; LETTER-SPACING: normal; TEXT-INDENT: 0px; font-size-adjust: none; font-stretch: normal"><SPAN style="FONT-SIZE: 16px; FONT-FAMILY: ¸¼Àº °íµñ; COLOR: rgb(51,51,51); LINE-HEIGHT: 25px">Is there any API in libxkbcommon ?</SPAN></DIV></DIV></BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>The short answer is, no.</DIV>
<DIV><BR></DIV>
<DIV>The long answer is, look through the keymap and find every keycode which produces that keysym, which may be on various layouts (groups) or shift levels.</DIV>
<DIV><BR></DIV>
<DIV>If you can share more details of what you actually want to achieve, that might be helpful.</DIV>
<DIV><BR></DIV>
<DIV>Cheers,</DIV>
<DIV>Daniel </DIV></DIV></DIV></DIV>
<P> </P>
<P> </P>
<TABLE id=confidentialsignimg>
<TBODY>
<TR>
<TD NAMO_LOCK>
<P><IMG border=0 src="cid:39MRZQS8QVYH@namo.co.kr"></P></TD></TR></TBODY></TABLE></BODY></HTML><img src='http://ext.samsung.net/mailcheck/SeenTimeChecker?do=2ca45776e672e14d572869ec7757a5c52acea990db9004c38c35ae6d7f18bc4503bf6f0e67da9796e458eb91567068af9ab5ff83b216b16af4af773db58e1db41b20909a04efd4d2748cfe1d4e847419cf878f9a26ce15a0' border=0 width=0 height=0 style='display:none'>