{"action":"created","issue":{"url":"https://api.github.com/repos/apocatarsis/Naga_KeypadMapper/issues/13","labels_url":"https://api.github.com/repos/apocatarsis/Naga_KeypadMapper/issues/13/labels{/name}","comments_url":"https://api.github.com/repos/apocatarsis/Naga_KeypadMapper/issues/13/comments","events_url":"https://api.github.com/repos/apocatarsis/Naga_KeypadMapper/issues/13/events","html_url":"https://github.com/apocatarsis/Naga_KeypadMapper/pull/13","id":129838628,"number":13,"title":"Add macro","user":{"login":"khornem","id":5352481,"avatar_url":"https://avatars.githubusercontent.com/u/5352481?v=3","gravatar_id":"","url":"https://api.github.com/users/khornem","html_url":"https://github.com/khornem","followers_url":"https://api.github.com/users/khornem/followers","following_url":"https://api.github.com/users/khornem/following{/other_user}","gists_url":"https://api.github.com/users/khornem/gists{/gist_id}","starred_url":"https://api.github.com/users/khornem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khornem/subscriptions","organizations_url":"https://api.github.com/users/khornem/orgs","repos_url":"https://api.github.com/users/khornem/repos","events_url":"https://api.github.com/users/khornem/events{/privacy}","received_events_url":"https://api.github.com/users/khornem/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/apocatarsis/Naga_KeypadMapper/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2016-01-29T17:54:40Z","updated_at":"2016-01-31T04:07:46Z","closed_at":"2016-01-30T19:13:43Z","pull_request":{"url":"https://api.github.com/repos/apocatarsis/Naga_KeypadMapper/pulls/13","html_url":"https://github.com/apocatarsis/Naga_KeypadMapper/pull/13","diff_url":"https://github.com/apocatarsis/Naga_KeypadMapper/pull/13.diff","patch_url":"https://github.com/apocatarsis/Naga_KeypadMapper/pull/13.patch"},"body":"Hello,\r\n\r\nFirst of all thank you for your great program.\r\n\r\nI have changed the code in order to:\r\n- add delay and move mouse cursor actions\r\n- allow executing multiple actions sequentially after clicking a button (making macros)\r\n\r\nBasically the code is the same, but instead of using a single vector for args and options I have converted them to vectors of vectors:\r\n- each vector in each position of the parent vector contains all the actions that will be sequentially executed\r\n\r\nI have not been able to block events in order it is captured by the daemon and not sent to the system (avoid that keys pressed perform both the programmed naga daemon action and default key action). In python I am able to grab a complete device (side buttons, by example), but I have not found the option in C++ yet."},"comment":{"url":"https://api.github.com/repos/apocatarsis/Naga_KeypadMapper/issues/comments/177379286","html_url":"https://github.com/apocatarsis/Naga_KeypadMapper/pull/13#issuecomment-177379286","issue_url":"https://api.github.com/repos/apocatarsis/Naga_KeypadMapper/issues/13","id":177379286,"user":{"login":"Destroyer","id":289988,"avatar_url":"https://avatars.githubusercontent.com/u/289988?v=3","gravatar_id":"","url":"https://api.github.com/users/Destroyer","html_url":"https://github.com/Destroyer","followers_url":"https://api.github.com/users/Destroyer/followers","following_url":"https://api.github.com/users/Destroyer/following{/other_user}","gists_url":"https://api.github.com/users/Destroyer/gists{/gist_id}","starred_url":"https://api.github.com/users/Destroyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Destroyer/subscriptions","organizations_url":"https://api.github.com/users/Destroyer/orgs","repos_url":"https://api.github.com/users/Destroyer/repos","events_url":"https://api.github.com/users/Destroyer/events{/privacy}","received_events_url":"https://api.github.com/users/Destroyer/received_events","type":"User","site_admin":false},"created_at":"2016-01-31T04:07:46Z","updated_at":"2016-01-31T04:07:46Z","body":"That didn't end up working for me as I was hoping for because of those formatting changes. So I went with CLion and formated the code automatically so now it should be perfect. \r\n\r\nAnyway I think that my job is done here and it can be merged with master (you can test it for yourself before doing so). Only one thing that bothers me is the implementation of delays. Since we're running the entire thing in a single thread when delay is used we can't process another command simultaneously. This still needs extra script. On the other side I don't want to spawn another thread for executing one or few commands every time user clicks so I'm leaving it that way."}}