{"action":"created","issue":{"url":"https://api.github.com/repos/AngryLawyer/rust-sdl2/issues/307","labels_url":"https://api.github.com/repos/AngryLawyer/rust-sdl2/issues/307/labels{/name}","comments_url":"https://api.github.com/repos/AngryLawyer/rust-sdl2/issues/307/comments","events_url":"https://api.github.com/repos/AngryLawyer/rust-sdl2/issues/307/events","html_url":"https://github.com/AngryLawyer/rust-sdl2/pull/307","id":55967322,"number":307,"title":"Added basic support for game controller API","user":{"login":"simias","id":7925386,"avatar_url":"https://avatars.githubusercontent.com/u/7925386?v=3","gravatar_id":"","url":"https://api.github.com/users/simias","html_url":"https://github.com/simias","followers_url":"https://api.github.com/users/simias/followers","following_url":"https://api.github.com/users/simias/following{/other_user}","gists_url":"https://api.github.com/users/simias/gists{/gist_id}","starred_url":"https://api.github.com/users/simias/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simias/subscriptions","organizations_url":"https://api.github.com/users/simias/orgs","repos_url":"https://api.github.com/users/simias/repos","events_url":"https://api.github.com/users/simias/events{/privacy}","received_events_url":"https://api.github.com/users/simias/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-01-29T22:31:00Z","updated_at":"2015-01-30T09:43:29Z","closed_at":"2015-01-30T09:42:10Z","pull_request":{"url":"https://api.github.com/repos/AngryLawyer/rust-sdl2/pulls/307","html_url":"https://github.com/AngryLawyer/rust-sdl2/pull/307","diff_url":"https://github.com/AngryLawyer/rust-sdl2/pull/307.diff","patch_url":"https://github.com/AngryLawyer/rust-sdl2/pull/307.patch"},"body":"All the basic functions are implemented and I've added an example program.\r\n\r\nThe SDL2 controller mapping system is a complete trainwreck as far as I'm concerned, you need to parse and generate strings like:\r\n\r\n```\r\n030000005e0400008e02000014010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,\r\n```\r\n\r\nMaybe we could provide a nice wrapper around that? Although that might be outside of the scope of this lib..."},"comment":{"url":"https://api.github.com/repos/AngryLawyer/rust-sdl2/issues/comments/72176720","html_url":"https://github.com/AngryLawyer/rust-sdl2/pull/307#issuecomment-72176720","issue_url":"https://api.github.com/repos/AngryLawyer/rust-sdl2/issues/307","id":72176720,"user":{"login":"AngryLawyer","id":1378607,"avatar_url":"https://avatars.githubusercontent.com/u/1378607?v=3","gravatar_id":"","url":"https://api.github.com/users/AngryLawyer","html_url":"https://github.com/AngryLawyer","followers_url":"https://api.github.com/users/AngryLawyer/followers","following_url":"https://api.github.com/users/AngryLawyer/following{/other_user}","gists_url":"https://api.github.com/users/AngryLawyer/gists{/gist_id}","starred_url":"https://api.github.com/users/AngryLawyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AngryLawyer/subscriptions","organizations_url":"https://api.github.com/users/AngryLawyer/orgs","repos_url":"https://api.github.com/users/AngryLawyer/repos","events_url":"https://api.github.com/users/AngryLawyer/events{/privacy}","received_events_url":"https://api.github.com/users/AngryLawyer/received_events","type":"User","site_admin":false},"created_at":"2015-01-30T09:43:29Z","updated_at":"2015-01-30T09:43:29Z","body":"Great stuff.\r\nI'm of the opinion that the only changes we should really make are those in regards to making things safe, but if you want to write a wrapper library for de-harbling the controller mapping, I'm happy to put a link to it in the docs :)"}}