소스 검색

Add an assignable RESET key

skullY 9 년 전
부모
커밋
bb8c1d29fa
2개의 변경된 파일12개의 추가작업 그리고 0개의 파일을 삭제
  1. 3 0
      tmk_core/common/keycode.h
  2. 9 0
      tmk_core/common/keymap.c

+ 3 - 0
tmk_core/common/keycode.h

@@ -426,6 +426,9 @@ enum internal_special_keycodes {
     KC_MEDIA_FAST_FORWARD,
     KC_MEDIA_REWIND,    /* 0xBC */
 
+    /* Jump to bootloader */
+    KC_RESET            = 0xBF,
+
     /* Fn key */
     KC_FN0              = 0xC0,
     KC_FN1,

+ 9 - 0
tmk_core/common/keymap.c

@@ -14,6 +14,7 @@ GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
+#include <util/delay.h>
 #include "keymap.h"
 #include "report.h"
 #include "keycode.h"
@@ -21,6 +22,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "action.h"
 #include "action_macro.h"
 #include "debug.h"
+#include "print.h"
 
 
 static action_t keycode_to_action(uint8_t keycode);
@@ -140,6 +142,13 @@ static action_t keycode_to_action(uint8_t keycode)
         case KC_TRNS:
             action.code = ACTION_TRANSPARENT;
             break;
+        case KC_RESET:
+            clear_keyboard();
+            print("\n\nJump to bootloader... ");
+            _delay_ms(50);
+            bootloader_jump();
+            print("not supported.\n");
+            break;
         default:
             action.code = ACTION_NO;
             break;