{"action":"created","issue":{"url":"https://api.github.com/repos/synergy/synergy/issues/3188","labels_url":"https://api.github.com/repos/synergy/synergy/issues/3188/labels{/name}","comments_url":"https://api.github.com/repos/synergy/synergy/issues/3188/comments","events_url":"https://api.github.com/repos/synergy/synergy/issues/3188/events","html_url":"https://github.com/synergy/synergy/issues/3188","id":45612647,"number":3188,"title":"Quote deadkey doesn't work on Mac OS X","user":{"login":"nbolton","id":313427,"avatar_url":"https://avatars.githubusercontent.com/u/313427?v=3","gravatar_id":"","url":"https://api.github.com/users/nbolton","html_url":"https://github.com/nbolton","followers_url":"https://api.github.com/users/nbolton/followers","following_url":"https://api.github.com/users/nbolton/following{/other_user}","gists_url":"https://api.github.com/users/nbolton/gists{/gist_id}","starred_url":"https://api.github.com/users/nbolton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nbolton/subscriptions","organizations_url":"https://api.github.com/users/nbolton/orgs","repos_url":"https://api.github.com/users/nbolton/repos","events_url":"https://api.github.com/users/nbolton/events{/privacy}","received_events_url":"https://api.github.com/users/nbolton/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/synergy/synergy/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2014-10-13T06:40:45Z","updated_at":"2015-05-29T10:52:17Z","closed_at":null,"body":"**Imported issue:**\n\n* Author: Eduardo Habkost\n* Date: 2012-06-23 19:30:15\n* Legacy ID: 3258\n\n**Steps to reproduce:**\r\n\r\n1. Run client and server on OS X Lion, using U. S. International keyboard layout.\r\n2. Focus on the client\r\n3. Type [\"]+[space] to get a quote character\r\n\r\nResult on the client log:\r\n\r\n    DEBUG1: recv key down id=0x00000022, mask=0x0000, button=0x0032\r\n    DEBUG1: mapKey 0022 (34) with mask 0000, start state: 0000\r\n    DEBUG1: key 0022 is not on keyboard\r\n\r\n**Versions and operating systems:**\r\n\r\nSynergy from SVN trunk (revision 1464)\r\n\r\n**Temporary workarounds:**\r\n\r\nIt works if I make the following code change:\r\n\r\n\r\n    --- a/src/lib/synergy/CKeyState.cpp\r\n    +++ b/src/lib/synergy/CKeyState.cpp\r\n    @@ -36,7 +36,7 @@ static const KeyID s_decomposeTable[] = {\r\n            0x02db, 0x0328, 0x0020, 0, // ogonek,       dead_ogonek,      space\r\n            0x02c7, 0x030c, 0x0020, 0, // caron,        dead_caron,       space\r\n            0x02d9, 0x0307, 0x0020, 0, // abovedot,     dead_abovedot,    space\r\n    -       0x02dd, 0x030b, 0x0020, 0, // doubleacute,  dead_doubleacute, space\r\n    +       0x0022, 0x030b, 0x0020, 0, // quotation,    dead_doubleacute, space\r\n            0x02d8, 0x0306, 0x0020, 0, // breve,        dead_breve,       space\r\n            0x00af, 0x0304, 0x0020, 0, // macron,       dead_macron,      space\r\n\r\n \r\n\r\n\r\nBut I know it's not an appropriate fix because some users may have keyboard layouts where the \"dead doubleacute\" key actually generates a double acute (instead of a quotation mark).\r\n\r\n**Additional comments:**\r\n\r\nIt seems to be hard to fix this without making the OS X code generate the dead key combinations while taking the system keymap into account (instead of using the static s_decomposeTable entries).\r\n\r\nRight now any dead key in OS X that generates a U+0022 char hitting the space key will be mapped to the ambiguous dead_doubleacute key ID (that is at the same time used for U+0022 (quotation mark) and U+02DD (double acute)."},"comment":{"url":"https://api.github.com/repos/synergy/synergy/issues/comments/106772135","html_url":"https://github.com/synergy/synergy/issues/3188#issuecomment-106772135","issue_url":"https://api.github.com/repos/synergy/synergy/issues/3188","id":106772135,"user":{"login":"the-wes","id":1994203,"avatar_url":"https://avatars.githubusercontent.com/u/1994203?v=3","gravatar_id":"","url":"https://api.github.com/users/the-wes","html_url":"https://github.com/the-wes","followers_url":"https://api.github.com/users/the-wes/followers","following_url":"https://api.github.com/users/the-wes/following{/other_user}","gists_url":"https://api.github.com/users/the-wes/gists{/gist_id}","starred_url":"https://api.github.com/users/the-wes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/the-wes/subscriptions","organizations_url":"https://api.github.com/users/the-wes/orgs","repos_url":"https://api.github.com/users/the-wes/repos","events_url":"https://api.github.com/users/the-wes/events{/privacy}","received_events_url":"https://api.github.com/users/the-wes/received_events","type":"User","site_admin":false},"created_at":"2015-05-29T10:52:17Z","updated_at":"2015-05-29T10:52:17Z","body":"SHD-436"}}