📄 keymaps.c
字号:
// keymaps.c
// Mostly defines lookup tables for scancode conversions
// Currently supports german and US layouts
// v0.1: Doug Gale
// - Initial revision. Most code transplanted from other source files.
// - Added United States keyboard map. Unfinished.
// - Added function and macro to conveniently change active keymap
#include <drivers/input/keyboard.h>
#include <drivers/input/keys_def.h>
// =========================================================================
// English layout
// =========================================================================
// Normal (unshifted, non-extended) keys
static unsigned char norm_map_us[] =
{/* 1 2 3 4 5 6 7*/
27, 49, 50, 51, 52, 53, 54, 55,
/* 8 9 0 - = bks tab q*/
56, 57, 48, 45, 61, 8, 9, 113,
/* w e r t y u i o*/
119, 101, 114, 116, 121, 117, 105, 111,
/* p [ ] Ent Ctl a s d*/
112, 91, 93, 13, 255, 97, 115, 100,
/* f g h j k l ; '*/
102, 103, 104, 106, 107, 108, 59, 39,
/* ` Shf \ z x c v b*/
96, 255, 92, 122, 120, 99, 118, 98,
/* n m , . / Shf * Alt*/
110, 109, 44, 46, 47, 255, 42, 255,
/*Sp Cap F1 F2 F3 F4 F5 F6*/ /*Funktionstasten (ab 2. #0)*/
32, 255, 0, 0, 0, 0, 0, 0,
/*F7 F8 F9 F10 Num Scr 7 8*/ /*Numpad Zahlen*/
0, 0, 0, 0, 255, 255, 55, 56,
/* 9 - 4 5 6 + 1 2*/ /*Numpad Zahlen*/
57, 45, 52, 53, 54, 43, 49, 50, /*80*/
/* 3 0 . Sys #0 < #0 #0*/ /*Numpad Zahlen, letzten 2 = F11-F12*/
51, 48, 46, 0, 0, 60, 0, 0,
/* #0 #0 #0 #0 #0 #0 #0 #13*/
0, 0, 0, 0, 0, 0, 0, 13,
/* #0 / #0 #0 #0 #0 #0 #0*/
255, 47, 255, 255, 0, 0, 0, 0,
/* #0 #0 #0 #0 #0 #0 #0 #0*/
0, 0, 0, 0, 0, 0, 0, 0,
/* #0 #0 #0 #0 #0 #0 #0 #0*/
0, 0, 0, 0, 0, 0, 255, 0, /*120; Pause = 119*/
/* #0 #0 #0 #0 #0 #0 #0 #0*/
0, 0, 0, 0, 255, 255, 255, 0};/*3 Windows-Tasten*/
/*Erweiterte Tasten, F1-F10, Einfg-Bild runter, Link-Rechts*/
static unsigned char ext_map_us[] =
{ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /*40*/
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
32, 0, 59, 60, 61, 61, 63, 64,
65, 66, 67, 68, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /*80*/
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 47, 0, 0, 0, 71, 72, 73,
75, 77, 79, 80, 81, 82, 83, 0,
0, 0, 0, 0, 0, 0, 0, 0, /*120*/
0, 0, 0, 0, 0, 0, 0, 0};
/*Tasten mit Umschalt-Taste*/
static unsigned char shift_map_us[] =
{ /* ! @ # $ % ^ &*/
27, 33, 64, 35, 36, 37, 94, 38,
/* * ( ) _ + bks tab Q*/
42, 40, 41, 95, 43, 8, 9, 81,
/* W E R T Y U I O*/
87, 69, 82, 84, 89, 85, 73, 81,
/* P { } Ent #0 A S D*/
80, 123, 125, 13, 0, 65, 83, 68,
/* F G H J K L : "*/
70, 71, 72, 74, 75, 76, 58, 34,
/*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -