{"action":"created","issue":{"url":"https://api.github.com/repos/UltimateHackingKeyboard/agent/issues/93","repository_url":"https://api.github.com/repos/UltimateHackingKeyboard/agent","labels_url":"https://api.github.com/repos/UltimateHackingKeyboard/agent/issues/93/labels{/name}","comments_url":"https://api.github.com/repos/UltimateHackingKeyboard/agent/issues/93/comments","events_url":"https://api.github.com/repos/UltimateHackingKeyboard/agent/issues/93/events","html_url":"https://github.com/UltimateHackingKeyboard/agent/issues/93","id":173882884,"number":93,"title":"UHK default configuration and add keymap presets","user":{"login":"mondalaci","id":300402,"avatar_url":"https://avatars.githubusercontent.com/u/300402?v=3","gravatar_id":"","url":"https://api.github.com/users/mondalaci","html_url":"https://github.com/mondalaci","followers_url":"https://api.github.com/users/mondalaci/followers","following_url":"https://api.github.com/users/mondalaci/following{/other_user}","gists_url":"https://api.github.com/users/mondalaci/gists{/gist_id}","starred_url":"https://api.github.com/users/mondalaci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mondalaci/subscriptions","organizations_url":"https://api.github.com/users/mondalaci/orgs","repos_url":"https://api.github.com/users/mondalaci/repos","events_url":"https://api.github.com/users/mondalaci/events{/privacy}","received_events_url":"https://api.github.com/users/mondalaci/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"fjozsef","id":5485394,"avatar_url":"https://avatars.githubusercontent.com/u/5485394?v=3","gravatar_id":"","url":"https://api.github.com/users/fjozsef","html_url":"https://github.com/fjozsef","followers_url":"https://api.github.com/users/fjozsef/followers","following_url":"https://api.github.com/users/fjozsef/following{/other_user}","gists_url":"https://api.github.com/users/fjozsef/gists{/gist_id}","starred_url":"https://api.github.com/users/fjozsef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fjozsef/subscriptions","organizations_url":"https://api.github.com/users/fjozsef/orgs","repos_url":"https://api.github.com/users/fjozsef/repos","events_url":"https://api.github.com/users/fjozsef/events{/privacy}","received_events_url":"https://api.github.com/users/fjozsef/received_events","type":"User","site_admin":false},"assignees":[{"login":"fjozsef","id":5485394,"avatar_url":"https://avatars.githubusercontent.com/u/5485394?v=3","gravatar_id":"","url":"https://api.github.com/users/fjozsef","html_url":"https://github.com/fjozsef","followers_url":"https://api.github.com/users/fjozsef/followers","following_url":"https://api.github.com/users/fjozsef/following{/other_user}","gists_url":"https://api.github.com/users/fjozsef/gists{/gist_id}","starred_url":"https://api.github.com/users/fjozsef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fjozsef/subscriptions","organizations_url":"https://api.github.com/users/fjozsef/orgs","repos_url":"https://api.github.com/users/fjozsef/repos","events_url":"https://api.github.com/users/fjozsef/events{/privacy}","received_events_url":"https://api.github.com/users/fjozsef/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2016-08-29T21:57:43Z","updated_at":"2016-08-30T11:50:28Z","closed_at":null,"body":"I can see that there's both `default-keymaps.json` and `uhk-config.json` present in `src/config-serializer` containing redundant information which makes me think about the UHK configuration in general and add keymap presets in specific.\r\n\r\nThe idea is that the UHK should come preloaded with [a large number of keymaps](https://github.com/UltimateHackingKeyboard/agent/issues/91), so that users could have lot of options to choose from. So we'll take `uhk-config.json`, convert it binary format and load it into the EEPROM of the UHK in the factory.\r\n\r\nThen the user will be able to infinitely tweak his/her configuration and diverge from the default configuration as desired.\r\n\r\nBut regardless, the add new keymap presets should always feature the keymaps of the default configuration. So the idea is to simply take the keymaps of the default configuration and offer them as the presets of the add new keymap UI.\r\n\r\nBut there's a twist to this. The presets should not contain macro actions and keymap switch actions. The reason is because these special actions reference keymaps and macros in the EEPROM which might have changed or deleted by the user.\r\n\r\n`default-keymaps.json` should be removed after implementing the above."},"comment":{"url":"https://api.github.com/repos/UltimateHackingKeyboard/agent/issues/comments/243414644","html_url":"https://github.com/UltimateHackingKeyboard/agent/issues/93#issuecomment-243414644","issue_url":"https://api.github.com/repos/UltimateHackingKeyboard/agent/issues/93","id":243414644,"user":{"login":"mondalaci","id":300402,"avatar_url":"https://avatars.githubusercontent.com/u/300402?v=3","gravatar_id":"","url":"https://api.github.com/users/mondalaci","html_url":"https://github.com/mondalaci","followers_url":"https://api.github.com/users/mondalaci/followers","following_url":"https://api.github.com/users/mondalaci/following{/other_user}","gists_url":"https://api.github.com/users/mondalaci/gists{/gist_id}","starred_url":"https://api.github.com/users/mondalaci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mondalaci/subscriptions","organizations_url":"https://api.github.com/users/mondalaci/orgs","repos_url":"https://api.github.com/users/mondalaci/repos","events_url":"https://api.github.com/users/mondalaci/events{/privacy}","received_events_url":"https://api.github.com/users/mondalaci/received_events","type":"User","site_admin":false},"created_at":"2016-08-30T11:50:27Z","updated_at":"2016-08-30T11:50:27Z","body":"There will be no such option provided.\r\n\r\nThe important thing about factory reset is that it totally disregards the EEPROM. I think this is a good design decision because the configuration parser will be quite complicated and it may break when encountering with various (possibly buggy) configuration items. If so, in the worst case the user can simply keep the factory reset button pressed, plug in his/her UHK to make it skip EEPROM parsing. Being able to recover this way is priceless.\r\n\r\nIt's also important to note that factory reset is not permament. It only pertains to the current session and does not modify the EEPROM. If you factory reset your UHK it'll load the factory keymap and then if you unplug its USB and replug it your configuration will be restored."}}
{"actor":{"display_login":"mondalaci"}}