M0110: added keymaps, mousekeys
parent
3f0289e666
commit
baf885dc31
8
m0110.c
8
m0110.c
|
@ -103,7 +103,7 @@ KEY EVENT:
|
||||||
To get scan code, use ((bits&(1<<7)) | ((bits&7F))>>1).
|
To get scan code, use ((bits&(1<<7)) | ((bits&7F))>>1).
|
||||||
|
|
||||||
SCAN CODE:
|
SCAN CODE:
|
||||||
M0110A
|
M0110
|
||||||
,---------------------------------------------------------.
|
,---------------------------------------------------------.
|
||||||
| `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backs|
|
| `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backs|
|
||||||
|---------------------------------------------------------|
|
|---------------------------------------------------------|
|
||||||
|
@ -211,7 +211,9 @@ uint8_t m0110_recv(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
idle();
|
idle();
|
||||||
print("m0110_send recv data: "); phex(data); print("\n");
|
if (data != M0110_NULL) {
|
||||||
|
print("m0110_recv data: "); phex(data); print("\n");
|
||||||
|
}
|
||||||
return data;
|
return data;
|
||||||
ERROR:
|
ERROR:
|
||||||
if (m0110_error) {
|
if (m0110_error) {
|
||||||
|
@ -229,7 +231,7 @@ uint8_t m0110_recv_key(void)
|
||||||
if (key == 0xFF || key == M0110_NULL)
|
if (key == 0xFF || key == M0110_NULL)
|
||||||
return M0110_NULL;
|
return M0110_NULL;
|
||||||
else
|
else
|
||||||
return (key&(1<<7) | (key&0x7F)>>1);
|
return ((key&(1<<7)) | ((key&0x7F)>>1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
2
m0110.h
2
m0110.h
|
@ -65,7 +65,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
extern uint8_t m0110_error;
|
extern uint8_t m0110_error;
|
||||||
|
|
||||||
/* host role */
|
/* host role */
|
||||||
void m0110_host_init(void);
|
void m0110_init(void);
|
||||||
uint8_t m0110_send(uint8_t data);
|
uint8_t m0110_send(uint8_t data);
|
||||||
uint8_t m0110_recv(void);
|
uint8_t m0110_recv(void);
|
||||||
uint8_t m0110_recv_key(void);
|
uint8_t m0110_recv_key(void);
|
||||||
|
|
|
@ -36,9 +36,9 @@ F_CPU = 16000000
|
||||||
# Build Options
|
# Build Options
|
||||||
# *Comment out* to disable the options.
|
# *Comment out* to disable the options.
|
||||||
#
|
#
|
||||||
#MOUSEKEY_ENABLE = yes # Mouse keys
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
#PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
|
#PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
|
||||||
#EXTRAKEY_ENABLE = yes # Audio control and System control
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
#NKRO_ENABLE = yes # USB Nkey Rollover
|
#NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
M0110 to USB keyboard converter
|
M0110 to USB keyboard converter
|
||||||
===============================
|
===============================
|
||||||
This firmware converts protocol for Apple Machintosh Keybard M0110.
|
This firmware converts the protocol of Apple Macintosh keyboard M0110 into USB.
|
||||||
|
|
||||||
|
|
||||||
Connection
|
Connection
|
||||||
|
|
|
@ -55,9 +55,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
// Assign Fn key(0-7) to a layer to which switch with the Fn key pressed.
|
// Assign Fn key(0-7) to a layer to which switch with the Fn key pressed.
|
||||||
static const uint8_t PROGMEM fn_layer[] = {
|
static const uint8_t PROGMEM fn_layer[] = {
|
||||||
0, // Fn0
|
1, // Fn0
|
||||||
0, // Fn1
|
2, // Fn1
|
||||||
0, // Fn2
|
3, // Fn2
|
||||||
0, // Fn3
|
0, // Fn3
|
||||||
0, // Fn4
|
0, // Fn4
|
||||||
0, // Fn5
|
0, // Fn5
|
||||||
|
@ -68,8 +68,8 @@ static const uint8_t PROGMEM fn_layer[] = {
|
||||||
// Assign Fn key(0-7) to a keycode sent when release Fn key without use of the layer.
|
// Assign Fn key(0-7) to a keycode sent when release Fn key without use of the layer.
|
||||||
// See layer.c for details.
|
// See layer.c for details.
|
||||||
static const uint8_t PROGMEM fn_keycode[] = {
|
static const uint8_t PROGMEM fn_keycode[] = {
|
||||||
KB_NO, // Fn0
|
KB_SCOLON, // Fn0
|
||||||
KB_NO, // Fn1
|
KB_SLASH, // Fn1
|
||||||
KB_NO, // Fn2
|
KB_NO, // Fn2
|
||||||
KB_NO, // Fn3
|
KB_NO, // Fn3
|
||||||
KB_NO, // Fn4
|
KB_NO, // Fn4
|
||||||
|
@ -79,25 +79,51 @@ static const uint8_t PROGMEM fn_keycode[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
// LShift and RShift are logically same one button.
|
||||||
|
// LOption and ROption are logically same one button.
|
||||||
/* Default Layer: plain keymap
|
/* Default Layer: plain keymap
|
||||||
* ,---------------------------------------------------------.
|
* ,---------------------------------------------------------.
|
||||||
* | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Bacpa|
|
* | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Bacpa|
|
||||||
* |---------------------------------------------------------|
|
* |---------------------------------------------------------|
|
||||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
|
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
|
||||||
* |---------------------------------------------------------|
|
* |---------------------------------------------------------|
|
||||||
* |CapsLo| A| S| D| F| G| H| J| K| L| ;| '|Return|
|
* |Contro| A| S| D| F| G| H| J| K| L|Fn0| '|Return|
|
||||||
* |---------------------------------------------------------|
|
* |---------------------------------------------------------|
|
||||||
* |Shift | Z| X| C| V| B| N| M| ,| ,| /|Shift |
|
* |Shift | Z| X| C| V| B| N| M| ,| ,|Fn1| Shift|
|
||||||
* `---------------------------------------------------------'
|
* `---------------------------------------------------------'
|
||||||
* |Opt|Alt | Space |Alt |Opt|
|
* |Fn2|Alt | Space |Gui |Fn2|
|
||||||
* `-----------------------------------------------'
|
* `-----------------------------------------------'
|
||||||
*/
|
*/
|
||||||
KEYMAP(
|
KEYMAP(
|
||||||
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC,
|
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC,
|
||||||
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS,
|
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS,
|
||||||
CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT,
|
LCTL,A, S, D, F, G, H, J, K, L, FN0, QUOT, ENT,
|
||||||
LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH,
|
LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN1,
|
||||||
LGUI,LALT, SPC, RALT
|
FN2, LALT, SPC, LGUI
|
||||||
|
),
|
||||||
|
// vi mousekeys
|
||||||
|
KEYMAP(
|
||||||
|
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL,
|
||||||
|
CAPS,NO, NO, NO, NO, NO, WH_L,WH_D,WH_U,WH_R,NO, NO, NO, NO,
|
||||||
|
LCTL,VOLD,VOLU,MUTE,NO, NO, MS_L,MS_D,MS_U,MS_R,FN0, NO, ENT,
|
||||||
|
LSFT,NO, NO, NO, NO, BTN3,BTN2,BTN1,NO, NO, NO,
|
||||||
|
NO, LALT, BTN1, LGUI
|
||||||
|
),
|
||||||
|
// vi cusorkeys
|
||||||
|
KEYMAP(
|
||||||
|
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL,
|
||||||
|
CAPS,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, NO, NO, NO, NO,
|
||||||
|
LCTL,NO, NO, NO, NO, NO, LEFT,DOWN,UP, RGHT,NO, NO, ENT,
|
||||||
|
LSFT,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, FN1,
|
||||||
|
NO, LALT, SPC, LGUI
|
||||||
|
),
|
||||||
|
// HHKB & WASD
|
||||||
|
KEYMAP(
|
||||||
|
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL,
|
||||||
|
CAPS,HOME,UP, PGUP,NO, NO, NO, NO, PSCR,SLCK,BRK, UP, NO, NO,
|
||||||
|
LCTL,LEFT,DOWN,RGHT,NO, NO, NO, NO, HOME,PGUP,LEFT,RGHT, ENT,
|
||||||
|
LSFT,END, NO, PGDN,NO, VOLD,VOLU,MUTE,END, PGDN,DOWN,
|
||||||
|
FN2, LALT, SPC, LGUI
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue