{"action":"created","issue":{"url":"https://api.github.com/repos/flutter/flutter/issues/1380","labels_url":"https://api.github.com/repos/flutter/flutter/issues/1380/labels{/name}","comments_url":"https://api.github.com/repos/flutter/flutter/issues/1380/comments","events_url":"https://api.github.com/repos/flutter/flutter/issues/1380/events","html_url":"https://github.com/flutter/flutter/pull/1380","id":128689172,"number":1380,"title":"Add RawKeyboardListener","user":{"login":"abarth","id":112007,"avatar_url":"https://avatars.githubusercontent.com/u/112007?v=3","gravatar_id":"","url":"https://api.github.com/users/abarth","html_url":"https://github.com/abarth","followers_url":"https://api.github.com/users/abarth/followers","following_url":"https://api.github.com/users/abarth/following{/other_user}","gists_url":"https://api.github.com/users/abarth/gists{/gist_id}","starred_url":"https://api.github.com/users/abarth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abarth/subscriptions","organizations_url":"https://api.github.com/users/abarth/orgs","repos_url":"https://api.github.com/users/abarth/repos","events_url":"https://api.github.com/users/abarth/events{/privacy}","received_events_url":"https://api.github.com/users/abarth/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-01-26T01:08:34Z","updated_at":"2016-01-26T02:36:33Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/flutter/flutter/pulls/1380","html_url":"https://github.com/flutter/flutter/pull/1380","diff_url":"https://github.com/flutter/flutter/pull/1380.diff","patch_url":"https://github.com/flutter/flutter/pull/1380.patch"},"body":"RawKeyboardListener makes it easier to listen for raw keyboard events.\r\n\r\nFixes #787"},"comment":{"url":"https://api.github.com/repos/flutter/flutter/issues/comments/174784124","html_url":"https://github.com/flutter/flutter/pull/1380#issuecomment-174784124","issue_url":"https://api.github.com/repos/flutter/flutter/issues/1380","id":174784124,"user":{"login":"abarth","id":112007,"avatar_url":"https://avatars.githubusercontent.com/u/112007?v=3","gravatar_id":"","url":"https://api.github.com/users/abarth","html_url":"https://github.com/abarth","followers_url":"https://api.github.com/users/abarth/followers","following_url":"https://api.github.com/users/abarth/following{/other_user}","gists_url":"https://api.github.com/users/abarth/gists{/gist_id}","starred_url":"https://api.github.com/users/abarth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abarth/subscriptions","organizations_url":"https://api.github.com/users/abarth/orgs","repos_url":"https://api.github.com/users/abarth/repos","events_url":"https://api.github.com/users/abarth/events{/privacy}","received_events_url":"https://api.github.com/users/abarth/received_events","type":"User","site_admin":false},"created_at":"2016-01-26T02:36:33Z","updated_at":"2016-01-26T02:36:33Z","body":"> lgtm, but presumably medium term we want to hook this into the Focus world.\r\n\r\nYeah, I should make the example use focus.  The intent is that you pass `Focus.at(context)` as the `focused` argument."}}