Sfoglia il codice sorgente

M0110: added keymaps, mousekeys

tags/v1.9
tmk 12 anni fa
parent
commit
baf885dc31
5 ha cambiato i file con 46 aggiunte e 18 eliminazioni
  1. 5
    3
      m0110.c
  2. 1
    1
      m0110.h
  3. 2
    2
      m0110_usb/Makefile
  4. 1
    1
      m0110_usb/README
  5. 37
    11
      m0110_usb/keymap.c

+ 5
- 3
m0110.c Vedi File

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|
|---------------------------------------------------------| |---------------------------------------------------------|
} }
} }
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) {
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));
} }





+ 1
- 1
m0110.h Vedi File

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);

+ 2
- 2
m0110_usb/Makefile Vedi File

# 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
- 1
m0110_usb/README Vedi File

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

+ 37
- 11
m0110_usb/keymap.c Vedi File



// 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
0, // Fn1
0, // Fn2
1, // Fn0
2, // Fn1
3, // Fn2
0, // Fn3 0, // Fn3
0, // Fn4 0, // Fn4
0, // Fn5 0, // Fn5
// 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_NO, // Fn1
KB_SCOLON, // Fn0
KB_SLASH, // Fn1
KB_NO, // Fn2 KB_NO, // Fn2
KB_NO, // Fn3 KB_NO, // Fn3
KB_NO, // Fn4 KB_NO, // Fn4
}; };


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,
LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH,
LGUI,LALT, SPC, RALT
LCTL,A, S, D, F, G, H, J, K, L, FN0, QUOT, ENT,
LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN1,
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…
Annulla
Salva