231 lines
13 KiB
C
231 lines
13 KiB
C
/* ----------------------------------------------------------------------------
|
|
* Copyright (c) 2013 Ben Blazak <benblazak.dev@gmail.com>
|
|
* Released under The MIT License (see "doc/licenses/MIT.md")
|
|
* Project located at <https://github.com/benblazak/ergodox-firmware>
|
|
* ------------------------------------------------------------------------- */
|
|
|
|
/** description
|
|
* Partial key descriptions for the "Boot Keyboard Required" keys (see
|
|
* <../../../firmware/lib/usb/usage-page/keyboard.h>).
|
|
*
|
|
* This header is meant to be included, not as an interface to anything, but in
|
|
* order to centralize a bit of code that would otherwise be duplicated by most
|
|
* layouts.
|
|
*
|
|
* Prefixes: `keys__`, [none]
|
|
*
|
|
* Usage:
|
|
* - `#define` `KEYS__DEFAULT` and `KEYS__SHIFTED` before `#include`ing.
|
|
* - These macros should probably do what their names imply (i.e. define a
|
|
* "default" or "shifted" key, respectively, whatever that means to the
|
|
* implementing layout), but in a practical sense they can be used however
|
|
* one wants. They're simply a really convenient way to generate almost
|
|
* the same bit of code for a lot of (key_name, key_code) pairs.
|
|
*/
|
|
|
|
|
|
#ifndef ERGODOX_FIRMWARE__FIRMWARE__LIB__LAYOUT__KEYS__H
|
|
#define ERGODOX_FIRMWARE__FIRMWARE__LIB__LAYOUT__KEYS__H
|
|
// ----------------------------------------------------------------------------
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
#include "../../../firmware/lib/usb/usage-page/keyboard.h"
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
#ifndef KEYS__DEFAULT
|
|
#error "You must define `KEYS__DEFAULT`"
|
|
#endif
|
|
#ifndef KEYS__SHIFTED
|
|
#error "You must define `KEYS__SHIFTED`"
|
|
#endif
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// letters
|
|
KEYS__DEFAULT( a, KEYBOARD__a_A );
|
|
KEYS__DEFAULT( b, KEYBOARD__b_B );
|
|
KEYS__DEFAULT( c, KEYBOARD__c_C );
|
|
KEYS__DEFAULT( d, KEYBOARD__d_D );
|
|
KEYS__DEFAULT( e, KEYBOARD__e_E );
|
|
KEYS__DEFAULT( f, KEYBOARD__f_F );
|
|
KEYS__DEFAULT( g, KEYBOARD__g_G );
|
|
KEYS__DEFAULT( h, KEYBOARD__h_H );
|
|
KEYS__DEFAULT( i, KEYBOARD__i_I );
|
|
KEYS__DEFAULT( j, KEYBOARD__j_J );
|
|
KEYS__DEFAULT( k, KEYBOARD__k_K );
|
|
KEYS__DEFAULT( l, KEYBOARD__l_L );
|
|
KEYS__DEFAULT( m, KEYBOARD__m_M );
|
|
KEYS__DEFAULT( n, KEYBOARD__n_N );
|
|
KEYS__DEFAULT( o, KEYBOARD__o_O );
|
|
KEYS__DEFAULT( p, KEYBOARD__p_P );
|
|
KEYS__DEFAULT( q, KEYBOARD__q_Q );
|
|
KEYS__DEFAULT( r, KEYBOARD__r_R );
|
|
KEYS__DEFAULT( s, KEYBOARD__s_S );
|
|
KEYS__DEFAULT( t, KEYBOARD__t_T );
|
|
KEYS__DEFAULT( u, KEYBOARD__u_U );
|
|
KEYS__DEFAULT( v, KEYBOARD__v_V );
|
|
KEYS__DEFAULT( w, KEYBOARD__w_W );
|
|
KEYS__DEFAULT( x, KEYBOARD__x_X );
|
|
KEYS__DEFAULT( y, KEYBOARD__y_Y );
|
|
KEYS__DEFAULT( z, KEYBOARD__z_Z );
|
|
// --- (shifted) ---
|
|
KEYS__SHIFTED( A, KEYBOARD__a_A );
|
|
KEYS__SHIFTED( B, KEYBOARD__b_B );
|
|
KEYS__SHIFTED( C, KEYBOARD__c_C );
|
|
KEYS__SHIFTED( D, KEYBOARD__d_D );
|
|
KEYS__SHIFTED( E, KEYBOARD__e_E );
|
|
KEYS__SHIFTED( F, KEYBOARD__f_F );
|
|
KEYS__SHIFTED( G, KEYBOARD__g_G );
|
|
KEYS__SHIFTED( H, KEYBOARD__h_H );
|
|
KEYS__SHIFTED( I, KEYBOARD__i_I );
|
|
KEYS__SHIFTED( J, KEYBOARD__j_J );
|
|
KEYS__SHIFTED( K, KEYBOARD__k_K );
|
|
KEYS__SHIFTED( L, KEYBOARD__l_L );
|
|
KEYS__SHIFTED( M, KEYBOARD__m_M );
|
|
KEYS__SHIFTED( N, KEYBOARD__n_N );
|
|
KEYS__SHIFTED( O, KEYBOARD__o_O );
|
|
KEYS__SHIFTED( P, KEYBOARD__p_P );
|
|
KEYS__SHIFTED( Q, KEYBOARD__q_Q );
|
|
KEYS__SHIFTED( R, KEYBOARD__r_R );
|
|
KEYS__SHIFTED( S, KEYBOARD__s_S );
|
|
KEYS__SHIFTED( T, KEYBOARD__t_T );
|
|
KEYS__SHIFTED( U, KEYBOARD__u_U );
|
|
KEYS__SHIFTED( V, KEYBOARD__v_V );
|
|
KEYS__SHIFTED( W, KEYBOARD__w_W );
|
|
KEYS__SHIFTED( X, KEYBOARD__x_X );
|
|
KEYS__SHIFTED( Y, KEYBOARD__y_Y );
|
|
KEYS__SHIFTED( Z, KEYBOARD__z_Z );
|
|
|
|
// numbers
|
|
KEYS__DEFAULT( 0, KEYBOARD__0_RightParenthesis );
|
|
KEYS__DEFAULT( 1, KEYBOARD__1_Exclamation );
|
|
KEYS__DEFAULT( 2, KEYBOARD__2_At );
|
|
KEYS__DEFAULT( 3, KEYBOARD__3_Pound );
|
|
KEYS__DEFAULT( 4, KEYBOARD__4_Dollar );
|
|
KEYS__DEFAULT( 5, KEYBOARD__5_Percent );
|
|
KEYS__DEFAULT( 6, KEYBOARD__6_Caret );
|
|
KEYS__DEFAULT( 7, KEYBOARD__7_Ampersand );
|
|
KEYS__DEFAULT( 8, KEYBOARD__8_Asterisk );
|
|
KEYS__DEFAULT( 9, KEYBOARD__9_LeftParenthesis );
|
|
// --- (shifted) ---
|
|
KEYS__SHIFTED( parenR, KEYBOARD__0_RightParenthesis );
|
|
KEYS__SHIFTED( exclam, KEYBOARD__1_Exclamation );
|
|
KEYS__SHIFTED( at, KEYBOARD__2_At );
|
|
KEYS__SHIFTED( pound, KEYBOARD__3_Pound );
|
|
KEYS__SHIFTED( dollar, KEYBOARD__4_Dollar );
|
|
KEYS__SHIFTED( percent, KEYBOARD__5_Percent );
|
|
KEYS__SHIFTED( caret, KEYBOARD__6_Caret );
|
|
KEYS__SHIFTED( amp, KEYBOARD__7_Ampersand );
|
|
KEYS__SHIFTED( asterisk, KEYBOARD__8_Asterisk );
|
|
KEYS__SHIFTED( parenL, KEYBOARD__9_LeftParenthesis );
|
|
// --- (keypad) ---
|
|
KEYS__DEFAULT( kp0, KEYPAD__0_Insert );
|
|
KEYS__DEFAULT( kp1, KEYPAD__1_End );
|
|
KEYS__DEFAULT( kp2, KEYPAD__2_DownArrow );
|
|
KEYS__DEFAULT( kp3, KEYPAD__3_PageDown );
|
|
KEYS__DEFAULT( kp4, KEYPAD__4_LeftArrow );
|
|
KEYS__DEFAULT( kp5, KEYPAD__5 );
|
|
KEYS__DEFAULT( kp6, KEYPAD__6_RightArrow );
|
|
KEYS__DEFAULT( kp7, KEYPAD__7_Home );
|
|
KEYS__DEFAULT( kp8, KEYPAD__8_UpArrow );
|
|
KEYS__DEFAULT( kp9, KEYPAD__9_PageUp );
|
|
|
|
// function
|
|
KEYS__DEFAULT( F1, KEYBOARD__F1 );
|
|
KEYS__DEFAULT( F2, KEYBOARD__F2 );
|
|
KEYS__DEFAULT( F3, KEYBOARD__F3 );
|
|
KEYS__DEFAULT( F4, KEYBOARD__F4 );
|
|
KEYS__DEFAULT( F5, KEYBOARD__F5 );
|
|
KEYS__DEFAULT( F6, KEYBOARD__F6 );
|
|
KEYS__DEFAULT( F7, KEYBOARD__F7 );
|
|
KEYS__DEFAULT( F8, KEYBOARD__F8 );
|
|
KEYS__DEFAULT( F9, KEYBOARD__F9 );
|
|
KEYS__DEFAULT( F10, KEYBOARD__F10 );
|
|
KEYS__DEFAULT( F11, KEYBOARD__F11 );
|
|
KEYS__DEFAULT( F12, KEYBOARD__F12 );
|
|
|
|
// whitespace and symbols
|
|
KEYS__DEFAULT( enter, KEYBOARD__ReturnEnter );
|
|
KEYS__DEFAULT( space, KEYBOARD__Spacebar );
|
|
KEYS__DEFAULT( tab, KEYBOARD__Tab );
|
|
// ---
|
|
KEYS__DEFAULT( bkslash, KEYBOARD__Backslash_Pipe );
|
|
KEYS__DEFAULT( brktL, KEYBOARD__LeftBracket_LeftBrace );
|
|
KEYS__DEFAULT( brktR, KEYBOARD__RightBracket_RightBrace );
|
|
KEYS__DEFAULT( comma, KEYBOARD__Comma_LessThan );
|
|
KEYS__DEFAULT( dash, KEYBOARD__Dash_Underscore );
|
|
KEYS__DEFAULT( equal, KEYBOARD__Equal_Plus );
|
|
KEYS__DEFAULT( grave, KEYBOARD__GraveAccent_Tilde );
|
|
KEYS__DEFAULT( period, KEYBOARD__Period_GreaterThan );
|
|
KEYS__DEFAULT( quote, KEYBOARD__SingleQuote_DoubleQuote );
|
|
KEYS__DEFAULT( semicol, KEYBOARD__Semicolon_Colon );
|
|
KEYS__DEFAULT( slash, KEYBOARD__Slash_Question );
|
|
// --- (shifted) ---
|
|
KEYS__SHIFTED( pipe, KEYBOARD__Backslash_Pipe );
|
|
KEYS__SHIFTED( braceL, KEYBOARD__LeftBracket_LeftBrace );
|
|
KEYS__SHIFTED( braceR, KEYBOARD__RightBracket_RightBrace );
|
|
KEYS__SHIFTED( lessThan, KEYBOARD__Comma_LessThan );
|
|
KEYS__SHIFTED( undersc, KEYBOARD__Dash_Underscore );
|
|
KEYS__SHIFTED( plus, KEYBOARD__Equal_Plus );
|
|
KEYS__SHIFTED( tilde, KEYBOARD__GraveAccent_Tilde );
|
|
KEYS__SHIFTED( grtrThan, KEYBOARD__Period_GreaterThan );
|
|
KEYS__SHIFTED( dblQuote, KEYBOARD__SingleQuote_DoubleQuote );
|
|
KEYS__SHIFTED( colon, KEYBOARD__Semicolon_Colon );
|
|
KEYS__SHIFTED( question, KEYBOARD__Slash_Question );
|
|
// --- (keypad) ---
|
|
KEYS__DEFAULT( kpEnter, KEYPAD__Enter );
|
|
// ---
|
|
KEYS__DEFAULT( kpDec, KEYPAD__Period_Delete );
|
|
// ---
|
|
KEYS__DEFAULT( kpAdd, KEYPAD__Plus );
|
|
KEYS__DEFAULT( kpSub, KEYPAD__Minus );
|
|
KEYS__DEFAULT( kpMul, KEYPAD__Asterisk );
|
|
KEYS__DEFAULT( kpDiv, KEYPAD__Slash );
|
|
|
|
// text control
|
|
KEYS__DEFAULT( arrowU, KEYBOARD__UpArrow );
|
|
KEYS__DEFAULT( arrowD, KEYBOARD__DownArrow );
|
|
KEYS__DEFAULT( arrowL, KEYBOARD__LeftArrow );
|
|
KEYS__DEFAULT( arrowR, KEYBOARD__RightArrow );
|
|
KEYS__DEFAULT( bs, KEYBOARD__DeleteBackspace );
|
|
KEYS__DEFAULT( del, KEYBOARD__DeleteForward );
|
|
KEYS__DEFAULT( end, KEYBOARD__End );
|
|
KEYS__DEFAULT( esc, KEYBOARD__Escape );
|
|
KEYS__DEFAULT( home, KEYBOARD__Home );
|
|
KEYS__DEFAULT( ins, KEYBOARD__Insert );
|
|
KEYS__DEFAULT( pageU, KEYBOARD__PageUp );
|
|
KEYS__DEFAULT( pageD, KEYBOARD__PageDown );
|
|
|
|
// modifier
|
|
KEYS__DEFAULT( altR, KEYBOARD__RightAlt );
|
|
KEYS__DEFAULT( altL, KEYBOARD__LeftAlt );
|
|
KEYS__DEFAULT( ctrlL, KEYBOARD__LeftControl );
|
|
KEYS__DEFAULT( ctrlR, KEYBOARD__RightControl );
|
|
KEYS__DEFAULT( guiL, KEYBOARD__LeftGUI );
|
|
KEYS__DEFAULT( guiR, KEYBOARD__RightGUI );
|
|
KEYS__DEFAULT( shiftL, KEYBOARD__LeftShift );
|
|
KEYS__DEFAULT( shiftR, KEYBOARD__RightShift );
|
|
|
|
// lock
|
|
KEYS__DEFAULT( caps, KEYBOARD__CapsLock );
|
|
KEYS__DEFAULT( scrl, KEYBOARD__ScrollLock );
|
|
// --- (keypad) ---
|
|
KEYS__DEFAULT( num, KEYPAD__NumLock_Clear );
|
|
|
|
// special function
|
|
KEYS__DEFAULT( app, KEYBOARD__Application );
|
|
KEYS__DEFAULT( pause, KEYBOARD__Pause );
|
|
KEYS__DEFAULT( prScr, KEYBOARD__PrintScreen );
|
|
|
|
// international and language
|
|
KEYS__DEFAULT( nonUSBkslash, KEYBOARD__NonUS_Backslash_Pipe );
|
|
KEYS__DEFAULT( nonUSPound, KEYBOARD__NonUS_Pound_Tilde );
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// ----------------------------------------------------------------------------
|
|
#endif // ERGODOX_FIRMWARE__FIRMWARE__LIB__LAYOUT__KEYS__H
|
|
|