{"id":213,"date":"2016-03-15T21:47:00","date_gmt":"2016-03-16T02:47:00","guid":{"rendered":"http:\/\/sam.tregar.com\/blog\/?p=213"},"modified":"2016-03-16T01:08:13","modified_gmt":"2016-03-16T06:08:13","slug":"remote-fix-for-a-busted-keyboard","status":"publish","type":"post","link":"http:\/\/sam.tregar.com\/blog\/2016\/03\/15\/remote-fix-for-a-busted-keyboard\/","title":{"rendered":"Remote Fix for a Busted Keyboard"},"content":{"rendered":"<p>When I lived in New York, I was a volunteer for <a href=\"http:\/\/bbbs.org\">Big Brothers Big Sisters<\/a>.  One of the ways I helped out my little brother was by helping him keep his computer running &#8211; a Windows 7 PC that I put together for him.   This has gotten harder now that I live on the west coast, but I still want to help him if I can.  Typically when he has a problem I remote in with TeamViewer and fix it.<\/p>\n<p>A week ago he wrote to me telling me his keyboard was broken.  I figured he&#8217;d spilled something on it so I advised him to try another keyboard &#8211; I knew he had a spare.  He told me that one was the same, and went into more detail &#8211; neither keyboard was completely broken, the windows key and media keys worked, but he couldn&#8217;t type any letters or numbers.<\/p>\n<p>After several long sessions of debugging via TeamViewer I had the following symptoms:<\/p>\n<ul>\n<li>Unable to type letters or numbers, but the keyboard otherwise worked.\n<li>Drivers were fine, devices appeared correct in Device Manager.\n<li>Switching to a PS\/2 keyboard didn&#8217;t help.\n<li>The problem persisted in Safe Mode.\n<li>The visual keyboard worked and I could type when connected through TeamViewer.\n<\/ul>\n<p>I was about ready to give up when I thought to press him a little about what he was doing when the keyboard stopped working.  Turns out he was trying to hack an online game &#8211; he hadn&#8217;t told me out of embarrassment I imagine.  Now I had a pretty good idea what had probably happened &#8211; he&#8217;d run a downloaded hack that contained malicious code.  I ran a few malware scanners and they didn&#8217;t find anything.<\/p>\n<p>I did, however, have the hack itself, so out of complete desperation I opened it up in Emacs hexl-mode to take a look.  It was a compiled Windows binary but there it was, hidden in among the compiled code:<\/p>\n<p><code>System\\CurrentControlSet\\Control\\Keyboard Layout<\/code><\/p>\n<p>That looked like a registry key and sure enough it was!  I loaded up regedit, found that key and deleted it, rebooted and he was typing again!<\/p>\n<p>I&#8217;m writing this blog post for a couple reasons &#8211; 1) I&#8217;m super proud of figuring this out and 2) when someone else has a similar problem maybe Google will serve up this post and they&#8217;ll be saved a lot of trouble.  I searched a lot and never saw any mention of this registry key!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When I lived in New York, I was a volunteer for Big Brothers Big Sisters. One of the ways I helped out my little brother was by helping him keep his computer running &#8211; a Windows 7 PC that I put together for him. This has gotten harder now that I live on the west [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[17,15,16,14],"class_list":["post-213","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-fix","tag-keyboard","tag-registry","tag-windows"],"_links":{"self":[{"href":"http:\/\/sam.tregar.com\/blog\/wp-json\/wp\/v2\/posts\/213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/sam.tregar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/sam.tregar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/sam.tregar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/sam.tregar.com\/blog\/wp-json\/wp\/v2\/comments?post=213"}],"version-history":[{"count":5,"href":"http:\/\/sam.tregar.com\/blog\/wp-json\/wp\/v2\/posts\/213\/revisions"}],"predecessor-version":[{"id":218,"href":"http:\/\/sam.tregar.com\/blog\/wp-json\/wp\/v2\/posts\/213\/revisions\/218"}],"wp:attachment":[{"href":"http:\/\/sam.tregar.com\/blog\/wp-json\/wp\/v2\/media?parent=213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/sam.tregar.com\/blog\/wp-json\/wp\/v2\/categories?post=213"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/sam.tregar.com\/blog\/wp-json\/wp\/v2\/tags?post=213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}