{"action":"created","issue":{"url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/issues/842","labels_url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/issues/842/labels{/name}","comments_url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/issues/842/comments","events_url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/issues/842/events","html_url":"https://github.com/rubberduck-vba/Rubberduck/issues/842","id":113167194,"number":842,"title":"Keyboard hook","user":{"login":"Hosch250","id":6299719,"avatar_url":"https://avatars.githubusercontent.com/u/6299719?v=3","gravatar_id":"","url":"https://api.github.com/users/Hosch250","html_url":"https://github.com/Hosch250","followers_url":"https://api.github.com/users/Hosch250/followers","following_url":"https://api.github.com/users/Hosch250/following{/other_user}","gists_url":"https://api.github.com/users/Hosch250/gists{/gist_id}","starred_url":"https://api.github.com/users/Hosch250/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hosch250/subscriptions","organizations_url":"https://api.github.com/users/Hosch250/orgs","repos_url":"https://api.github.com/users/Hosch250/repos","events_url":"https://api.github.com/users/Hosch250/events{/privacy}","received_events_url":"https://api.github.com/users/Hosch250/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/labels/api","name":"api","color":"DDDDDd"},{"url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/labels/code-parsing","name":"code-parsing","color":"DDDDDD"},{"url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/labels/critical","name":"critical","color":"DD0000"}],"state":"closed","locked":false,"assignee":{"login":"retailcoder","id":5751684,"avatar_url":"https://avatars.githubusercontent.com/u/5751684?v=3","gravatar_id":"","url":"https://api.github.com/users/retailcoder","html_url":"https://github.com/retailcoder","followers_url":"https://api.github.com/users/retailcoder/followers","following_url":"https://api.github.com/users/retailcoder/following{/other_user}","gists_url":"https://api.github.com/users/retailcoder/gists{/gist_id}","starred_url":"https://api.github.com/users/retailcoder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/retailcoder/subscriptions","organizations_url":"https://api.github.com/users/retailcoder/orgs","repos_url":"https://api.github.com/users/retailcoder/repos","events_url":"https://api.github.com/users/retailcoder/events{/privacy}","received_events_url":"https://api.github.com/users/retailcoder/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/milestones/20","html_url":"https://github.com/rubberduck-vba/Rubberduck/milestones/Version%202.0","labels_url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/milestones/20/labels","id":1063094,"number":20,"title":"Version 2.0","description":"This version will include source control (GitHub) integration and localization.","creator":{"login":"retailcoder","id":5751684,"avatar_url":"https://avatars.githubusercontent.com/u/5751684?v=3","gravatar_id":"","url":"https://api.github.com/users/retailcoder","html_url":"https://github.com/retailcoder","followers_url":"https://api.github.com/users/retailcoder/followers","following_url":"https://api.github.com/users/retailcoder/following{/other_user}","gists_url":"https://api.github.com/users/retailcoder/gists{/gist_id}","starred_url":"https://api.github.com/users/retailcoder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/retailcoder/subscriptions","organizations_url":"https://api.github.com/users/retailcoder/orgs","repos_url":"https://api.github.com/users/retailcoder/repos","events_url":"https://api.github.com/users/retailcoder/events{/privacy}","received_events_url":"https://api.github.com/users/retailcoder/received_events","type":"User","site_admin":false},"open_issues":53,"closed_issues":44,"state":"open","created_at":"2015-04-11T13:20:05Z","updated_at":"2015-11-25T06:14:59Z","due_on":null,"closed_at":null},"comments":9,"created_at":"2015-10-24T15:28:37Z","updated_at":"2015-11-25T06:14:59Z","closed_at":"2015-11-25T06:14:59Z","body":"This [MSDN blog post](http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx) has a working key hook that reads the keys and prints them in a console application.  The core of the work should just be copy/paste into Rubberduck, but we will need to change how we handle the key input.  Do we create an interface, inject it into the classes that need it, and fire an event on every key press containing the key data?  How do we know when the VBE is actually active?  The key hook pulls data from every key press on the system."},"comment":{"url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/issues/comments/159504379","html_url":"https://github.com/rubberduck-vba/Rubberduck/issues/842#issuecomment-159504379","issue_url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/issues/842","id":159504379,"user":{"login":"retailcoder","id":5751684,"avatar_url":"https://avatars.githubusercontent.com/u/5751684?v=3","gravatar_id":"","url":"https://api.github.com/users/retailcoder","html_url":"https://github.com/retailcoder","followers_url":"https://api.github.com/users/retailcoder/followers","following_url":"https://api.github.com/users/retailcoder/following{/other_user}","gists_url":"https://api.github.com/users/retailcoder/gists{/gist_id}","starred_url":"https://api.github.com/users/retailcoder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/retailcoder/subscriptions","organizations_url":"https://api.github.com/users/retailcoder/orgs","repos_url":"https://api.github.com/users/retailcoder/repos","events_url":"https://api.github.com/users/retailcoder/events{/privacy}","received_events_url":"https://api.github.com/users/retailcoder/received_events","type":"User","site_admin":false},"created_at":"2015-11-25T06:14:59Z","updated_at":"2015-11-25T06:14:59Z","body":"ok. keyboard hook works in my environment. anyone has Office 2016 handy to test it out? there is a documented occurrence of the keyhook not working in an Office 2016 host, so more tests and perhaps some tweaks are needed - but it works in Office 2010 x64 on Win10."}}