+++ /dev/null
-#include "planck.h"
-#include "action_layer.h"
-#ifdef BACKLIGHT_ENABLE
- #include "backlight.h"
-#endif
-
-//Simple Keymap where CTRL, WINKEY, and ALT keys are placed in a more familiar location for Windows users.
-//Focus of this particular keymap is to enable easy transition from more traditional keyboards to OLKB Planck.
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-#define _QW 0
-#define _LW 1
-#define _RS 2
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = { /* Qwerty */
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RSFT, KC_ENT)},
- {KC_LCTL, KC_LGUI, KC_LALT, M(0), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- },
- [_RS] = { /* RAISE */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL },
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
- },
- [_LW] = { /* LOWER */
- {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL },
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
- }
-};
-
-const uint16_t PROGMEM fn_actions[] = {
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- } else {
- unregister_code(KC_RSFT);
- }
- break;
- }
- return MACRO_NONE;
-};
+++ /dev/null
-:100000000C94A8010C94EC010C94EC010C94EC0100\r
-:100010000C94EC010C94EC010C94EC010C94EC01AC\r
-:100020000C94EC010C94EC010C94410D0C94050D16\r
-:100030000C94C11B0C94EC010C94EC010C94EC019D\r
-:100040000C94EC010C94EC010C94EC010C94EC017C\r
-:100050000C94EC010C94841C0C94EC010C94EC01B9\r
-:100060000C94EC010C94EC010C94EC010C94EC015C\r
-:100070000C94EC010C94EC010C94EC010C94EC014C\r
-:100080000C94EC010C94EC010C94EC010C94EC013C\r
-:100090000C94EC010C94EC010C94EC010C94EC012C\r
-:1000A0000C94EC010C94EC010C94EC012B0014006A\r
-:1000B0001A000800150017001C0018000C001200A0\r
-:1000C00013002A00290004001600070009000A0096\r
-:1000D0000B000D000E000F0033003400E1001D0086\r
-:1000E0001B00060019000500110010003600370043\r
-:1000F00038002872E000E300E200003001522C00DA\r
-:100100002C0002525000510052004F0035021E02D6\r
-:100110001F022002210222022302240225022602BB\r
-:1001200027024C0001000100010001000100010054\r
-:1001300001002D022E022F023002310201000100C7\r
-:1001400001000100010001000100010001002F0079\r
-:100150003000010001000100010001000100010068\r
-:1001600001000100010001000100010035001E0036\r
-:100170001F0020002100220023002400250026006B\r
-:1001800027004C0001003A003B003C003D003E00CF\r
-:100190003F002D002E002F003000310001004000F4\r
-:1001A00041004200430044004500010001000100FD\r
-:1001B0000100010001000100010001000100010037\r
-:1001C0000100010001000100010001000501090614\r
-:1001D000A101050719E029E715002501950875011A\r
-:1001E0008102950175088101050819012905950508\r
-:1001F000750191029501750391010507190029FF09\r
-:10020000150025FF950675088100C005010902A1AA\r
-:10021000010901A10005091901290515002501950C\r
-:1002200005750181029501750381010501093009F8\r
-:10023000311581257F9502750881060938158125BC\r
-:100240007F950175088106050C0A38021581257F06\r
-:10025000950175088106C0C005010980A1018502CC\r
-:1002600016010026B7001A01002AB7007510950183\r
-:100270008100C0050C0901A1018503160100269C1F\r
-:10028000021A01002A9C02751095018100C012011A\r
-:10029000100100000008EDFE606001000102000195\r
-:1002A00009025400030100A0FA090400000103013F\r
-:1002B0000100092111010001223F00070581030807\r
-:1002C000000A0904010001030102000921110100D3\r
-:1002D00001224D000705820308000A0904020001FB\r
-:1002E00003000000092111010001223600070583E7\r
-:1002F0000308000A040309042C034F007200740071\r
-:1003000068006F006C0069006E006500610072009B\r
-:1003100020004B006500790062006F0061007200F0\r
-:10032000640073000000280354006800650020008A\r
-:1003300050006C0061006E0063006B0020004B00F9\r
-:100340006500790062006F006100720064000000C7\r
-:1003500011241FBECFEFDAE0DEBFCDBF04B603FE2F\r
-:1003600024C08091ED019091EE01A091EF01B09138\r
-:10037000F0018750904BA740B04BB9F41092ED01BB\r
-:100380001092EE011092EF011092F00114BE84B7AA\r
-:10039000877F84BF88E10FB6F89480936000109245\r
-:1003A00060000FBEE0E0F8E3099511E0A0E0B1E0E5\r
-:1003B000EAE7F7E402C005900D92A435B107D9F73A\r
-:1003C00011E0A4E5B1E001C01D92AD3EB107E1F737\r
-:1003D0000E9441090C94BB230C940000FC0166238D\r
-:1003E00061F48281882331F085EE0E947D110E94A4\r
-:1003F000BC2103C085EE0E942A1180E090E00895A0\r
-:1004000008950895089508950E94010208950E9494\r
-:10041000020208950E940302089584E0809355012A\r
-:1004200008950E949C2123E030E0281B3109220F0F\r
-:10043000331F2093540108950E9411020E940D025F\r
-:10044000109256010895982F2F98882351F4809187\r
-:100450008000877F8093800010928D0010928C0026\r
-:1004600020C0833041F480918000886080938000B8\r
-:100470008FEF9FEF12C08091800088608093800092\r
-:1004800023E030E0291B3109220F331F8FEF9FEF4C\r
-:1004900002C0969587952A95E2F790938D008093F8\r
-:1004A0008C000E9411020895279A2F988FEF9FEFDA\r
-:1004B00090938700809386008AE08093800089E192\r
-:1004C000809381000E942A220E941C0208950E94AB\r
-:1004D00054026E9A769A0E94000208950895E62FBB\r
-:1004E000F0E0EE0FFF1F98E1799F90011124E20FD9\r
-:1004F000F31F90E6899FC0011124E80FF91FE4550E\r
-:10050000FF4F25913491C9010895FC01EE0FFF1FA3\r
-:10051000E45BFF4F25913491C9010895FC01EE0F72\r
-:10052000FF1FE453FE4F25913491C9010895CF93E5\r
-:10053000DF93EC0180E4C030D807A0F590E3C03031\r
-:10054000D90708F005C1C83ED105E8F4C03ED10581\r
-:1005500008F069C0C83AD10588F4C53AD10508F059\r
-:1005600064C0C130D10509F4E8C0C130D10508F438\r
-:1005700014C2C430D10508F410C255C0CB3BD1051C\r
-:1005800008F00BC261C080E2C030D80708F0DBC0C1\r
-:1005900091E0C030D90708F0D3C0C03FD10508F4BE\r
-:1005A000FCC1C8C080E5C130D80709F4F4C090E5AB\r
-:1005B000C230D907F0F480E4C131D80709F4D4C0BF\r
-:1005C00090E4C231D90730F480E4C031D80708F490\r
-:1005D000C3C0C7C090E4C331D90709F4CBC080E4DD\r
-:1005E000C331D80708F4C3C0C050D04509F0D5C105\r
-:1005F000C4C080E6C030D80730F491E5C030D907D8\r
-:1006000008F05EC1CEC080E7C030D80708F4C5C18D\r
-:1006100090E8C030D90708F4B8C180E9C030D807E5\r
-:1006200008F0BBC1B6C19E01BAC1C53AD10519F4E3\r
-:1006300081E890E47DC0C63AD10519F083E890E4E2\r
-:1006400077C082E890E474C0C83AD10519F482EE0C\r
-:1006500094E46EC0C93AD10519F489EE94E468C0F7\r
-:10066000CA3AD10519F48AEE94E462C0CB3AD105B6\r
-:1006700019F485EB94E45CC0CC3AD10519F486EB0F\r
-:1006800094E456C0CD3AD10519F487EB94E450C0F8\r
-:10069000C03BD10519F48CEC94E44AC0CE3AD105A4\r
-:1006A00019F48DEC94E444C0CF3AD10519F483E8F1\r
-:1006B00095E43EC0C13BD10519F48AE895E438C001\r
-:1006C000C23BD10519F482E995E432C0C33BD105A0\r
-:1006D00019F484E995E42CC0C43BD10519F481E2F6\r
-:1006E00096E426C0C53BD10519F483E296E420C008\r
-:1006F000C63BD10519F484E296E41AC0C73BD10584\r
-:1007000019F485E296E414C0C83BD10519F486E2D9\r
-:1007100096E40EC0C93BD10519F487E296E408C0FF\r
-:10072000CA3BD10519F080E094E402C08AE296E465\r
-:100730009C0135C19E01306532C121E030E02FC1FE\r
-:100740009E013F712CC1CE019F700E948E0228C174\r
-:100750009E013070306C23C19E012F703070346D5B\r
-:100760001EC120E031ED1BC120E030ED18C120E0BA\r
-:1007700032ED15C120E033ED12C10E94171184EC57\r
-:1007800099E020E931E0F9013197F1F70197D9F7C4\r
-:100790000E94A91C04C18091CD0181608093CD018C\r
-:1007A000FEC00E94051D882311F40E94101D0E94A6\r
-:1007B000F61C8093EB011092EC0190E5C230D90752\r
-:1007C00011F4816076C090E5C430D90711F48260DD\r
-:1007D00070C090E5C630D90711F484606AC090E516\r
-:1007E000C830D90711F4886064C090E5CA30D907D1\r
-:1007F00011F480615EC090E5CC30D90711F48062BD\r
-:1008000058C090E5CE30D90711F4806452C090E50D\r
-:10081000C031D90711F480684CC090E5C231D907C6\r
-:1008200011F48C6046C080E5C330D80721F4809174\r
-:10083000EB018E7F3EC090E5C530D90721F4809151\r
-:10084000EB018D7F36C080E5C730D80721F4809159\r
-:10085000EB018B7F2EC090E5C930D90721F4809140\r
-:10086000EB01877F26C080E5CB30D80721F480914B\r
-:10087000EB018F7E1EC090E5CD30D90721F4809129\r
-:10088000EB018F7D16C080E5CF30D80721F4809131\r
-:10089000EB018F7B0EC090E5C131D90721F4809127\r
-:1008A000EB018F7706C0C351D04529F48091EB014D\r
-:1008B000837F8093EB018091EB010E94EB1C6FC062\r
-:1008C0004D2F55274F70507041305105F9F49E015E\r
-:1008D000A4E0220F331FAA95E1F720703370CE01F8\r
-:1008E000F3E0880F991FFA95E1F780769070282B36\r
-:1008F000392B3C68C370D07002C0440F551FCA9595\r
-:10090000E2F74F715070242B352B49C0423051050E\r
-:1009100029F43C2F2227216F306A41C04330510512\r
-:1009200051F49E0173E0220F331F7A95E1F7207E88\r
-:1009300037703C680CC044305105B9F49E0163E047\r
-:10094000220F331F6A95E1F7207E37703A68C37033\r
-:10095000D07081E090E002C0880F991FCA95E2F73D\r
-:100960008F719070282B392B1AC04530510529F40E\r
-:100970003C2F2227246F306A12C04630510579F48B\r
-:10098000CF71D0703C2F222702C09E013F70306291\r
-:1009900006C09E013F70306A02C020E030E0C9010D\r
-:1009A000DF91CF9108950E946F02803E9105F0F48F\r
-:1009B000803C910588F58133910509F475C0823337\r
-:1009C000910548F48932910509F464C08A32910591\r
-:1009D00009F07BC06EC08933910509F18238910519\r
-:1009E000F1F08533910509F070C04FC0833E910549\r
-:1009F00061F1843E910540F4803E9105B9F0823E5C\r
-:100A0000910509F062C01CC0863E910551F1873EF8\r
-:100A1000910509F05AC02AC00E94850208952091CC\r
-:100A2000EB0120FD0AC021FD08C04CC08091EB0104\r
-:100A300080FF03C089E390E045C080EE90E042C0B3\r
-:100A40008091EB0182FD08C004C08091EB0182FF20\r
-:100A500003C082EE90E036C084FD11C083EE90E0CA\r
-:100A600031C08091EB0183FD08C004C08091EB018F\r
-:100A700083FF03C086EE90E025C084FF03C080E0C2\r
-:100A800090E020C087EE90E01DC08091EB0185FFD3\r
-:100A900005C007C08091EB0185FF03C085E390E0AE\r
-:100AA00011C089E290E00EC08091EB0186FF05C085\r
-:100AB00007C08091EB0186FF03C081E390E002C094\r
-:100AC0008AE290E00E94970208950E94970208959A\r
-:100AD0000E940A020895E82FF0E0EE0FFF1FE95A86\r
-:100AE000FE4F80819181089508954F925F926F9299\r
-:100AF0007F928F929F92AF92BF92CF92DF92EF92AE\r
-:100B0000FF920F931F93DF93CF93CDB7DEB7289754\r
-:100B10000FB6F894DEBF0FBECDBFAE014F5F5F4F83\r
-:100B200060E070E0EE24FF24CC24DD24AA24BB2462\r
-:100B3000882499242A0101E010E029E0622E712C1A\r
-:100B40006C0E7D1ED201E4E3F1E088E001900D928D\r
-:100B50008150E1F7FA01808191819C01207F307002\r
-:100B60002032310559F48F709070980102C0220F25\r
-:100B7000331F8A95E2F7622B732B37C02033310580\r
-:100B800059F48F709070F80102C0EE0FFF1F8A9524\r
-:100B9000E2F7EE2AFF2A29C02034310559F48F707C\r
-:100BA0009070980102C0220F331F8A95E2F7C22A83\r
-:100BB000D32A1BC02035310559F48F709070F8018D\r
-:100BC00002C0EE0FFF1F8A95E2F7AE2ABF2A0DC0C2\r
-:100BD0002036310551F48F709070980102C0220FB9\r
-:100BE000331F8A95E2F7822A932A4E5F5F4F46159C\r
-:100BF000570509F0A7CF24B1962F862F8095822321\r
-:100C000084B985B1982B95B927B19E2D8E2D8095ED\r
-:100C1000822387B988B1982B98B92AB19C2D8C2D45\r
-:100C2000809582238AB98BB1982B9BB92DB19A2DCF\r
-:100C30008A2D809582238DB98EB1982B9EB920B3D1\r
-:100C4000982D882D8095822380BB81B3982B91BBF2\r
-:100C500028960FB6F894DEBF0FBECDBFCF91DF91BF\r
-:100C60001F910F91FF90EF90DF90CF90BF90AF90CA\r
-:100C70009F908F907F906F905F904F9008954F92CC\r
-:100C80005F926F927F928F929F92AF92BF92CF921C\r
-:100C9000DF92EF92FF920F931F93DF93CF93CDB725\r
-:100CA000DEB768970FB6F894DEBF0FBECDBF85B72D\r
-:100CB000806885BF85B7806885BF0E947505AE01D5\r
-:100CC0004F5F5F4F60E070E0EE24FF24CC24DD2412\r
-:100CD000AA24BB24882499242A0101E010E039E1E8\r
-:100CE000632E712C6C0E7D1ED201ECE3F1E088E1E5\r
-:100CF00001900D928150E1F7FA01808191819C0170\r
-:100D0000207F30702032310559F48F709070980137\r
-:100D100002C0220F331F8A95E2F7622B732B37C074\r
-:100D20002033310559F48F709070F80102C0EE0F36\r
-:100D3000FF1F8A95E2F7EE2AFF2A29C020343105E9\r
-:100D400059F48F709070980102C0220F331F8A955A\r
-:100D5000E2F7C22AD32A1BC02035310559F48F701F\r
-:100D60009070F80102C0EE0FFF1F8A95E2F7AE2ADD\r
-:100D7000BF2A0DC02036310551F48F709070980154\r
-:100D800002C0220F331F8A95E2F7822A932A4E5F10\r
-:100D90005F4F4615570509F0A7CF24B1962F862F30\r
-:100DA0008095822384B985B1982B95B927B19E2D62\r
-:100DB0008E2D8095822387B988B1982B98B92AB156\r
-:100DC0009C2D8C2D809582238AB98BB1982B9BB951\r
-:100DD0002DB19A2D8A2D809582238DB98EB1982BB5\r
-:100DE0009EB920B3982D882D8095822380BB81B336\r
-:100DF000982B91BB80E090E0FC01E95AFE4F1182F4\r
-:100E00001082FC01E15AFE4F118210820296883056\r
-:100E1000910591F70E94670268960FB6F894DEBFBD\r
-:100E20000FBECDBFCF91DF911F910F91FF90EF903B\r
-:100E3000DF90CF90BF90AF909F908F907F906F90FA\r
-:100E40005F904F9008954F925F926F927F928F9232\r
-:100E50009F92AF92BF92CF92DF92EF92FF920F9349\r
-:100E60001F93DF93CF93CDB7DEB7A0970FB6F8945B\r
-:100E7000DEBF0FBECDBF909000016E010894C11C73\r
-:100E8000D11CEFE5AE2EE1E0BE2EC6015C2C892E12\r
-:100E900071E0E72EF12C60EA462E59E0652E712CA8\r
-:100EA0006C0E7D1E852D982DDC01E4E1F1E088E0DB\r
-:100EB00001900D928150E1F7F60120813181C90145\r
-:100EC000807F90708032910589F484B12F703070EA\r
-:100ED000A70102C0440F551F2A95E2F79A01842BFF\r
-:100EE00084B985B12095282325B94FC08033910559\r
-:100EF00089F487B12F703070F70102C0EE0FFF1F29\r
-:100F00002A95E2F79F018E2B87B988B12095282377\r
-:100F100028B93BC08034910589F48AB12F703070B4\r
-:100F2000A70102C0440F551F2A95E2F79A01842BAE\r
-:100F30008AB98BB1209528232BB927C0803591051C\r
-:100F400089F48DB12F703070F70102C0EE0FFF1FD2\r
-:100F50002A95E2F79F018E2B8DB98EB1209528231B\r
-:100F60002EB913C08036910581F480B32F70307094\r
-:100F7000A70102C0440F551F2A95E2F79A01842B5E\r
-:100F800080BB81B32095282321BB842D8A95F1F75E\r
-:100F9000830160E070E040E050E0D301ECE1F1E07B\r
-:100FA00088E101900D928150E1F7F80120813181B3\r
-:100FB000C901807F90708032910511F483B113C014\r
-:100FC0008033910511F486B10EC08034910511F47F\r
-:100FD00089B109C08035910511F48CB104C0803607\r
-:100FE0009105B9F48FB190E02F70307002C09595E3\r
-:100FF00087952A95E2F780FF03C080E090E007C064\r
-:10100000C701062E02C0880F991F0A94E2F7482BE9\r
-:10101000592B6F5F7F4F0E5F1F4F6C30710509F0CA\r
-:10102000BCCFF501808191818417950721F0518310\r
-:10103000408345E0942E0E94750542E050E0C40EC6\r
-:10104000D51EA40EB51EC614D70409F02BCF90925E\r
-:101050000001992059F1892D815080930001882346\r
-:1010600029F080EA9FE00197F1F720C080915F01AD\r
-:101070009091600190935801809357018091610194\r
-:101080009091620190935A0180935901809163017C\r
-:101090009091640190935C0180935B018091650164\r
-:1010A0009091660190935E0180935D010E9404021D\r
-:1010B00081E0A0960FB6F894DEBF0FBECDBFCF91F2\r
-:1010C000DF911F910F91FF90EF90DF90CF90BF9035\r
-:1010D000AF909F908F907F906F905F904F9008950A\r
-:1010E0001092E1010895089508958091680108958E\r
-:1010F000DF93CF9300D00F92CDB7DEB7AC018091D4\r
-:10110000E201843029F583E08093E9002FEF95ED2B\r
-:1011100005C0892F8A95F1F7222329F08091E800F4\r
-:10112000215085FFF6CF8091E80085FF11C05B83D9\r
-:101130004A8383E08983CE01019663E070E040E05A\r
-:1011400050E00E94A70B8091E8008E778093E80022\r
-:101150000F900F900F90CF91DF910895DF93CF9371\r
-:1011600000D00F92CDB7DEB7AC018091E2018430A0\r
-:1011700029F583E08093E9002FEF95ED05C0892FD5\r
-:101180008A95F1F7222329F08091E800215085FF0C\r
-:10119000F6CF8091E80085FF11C05B834A8382E02F\r
-:1011A0008983CE01019663E070E040E050E00E9448\r
-:1011B000A70B8091E8008E778093E8000F900F9046\r
-:1011C0000F90CF91DF910895AC018091E2018430BE\r
-:1011D00001F582E08093E9002FEF95ED05C0892F9E\r
-:1011E0008A95F1F7222329F08091E800215085FFAC\r
-:1011F000F6CF8091E80085FF0CC0CA0165E070E081\r
-:1012000040E050E00E94A70B8091E8008E77809329\r
-:10121000E80008950F931F93182F092F8091E20182\r
-:10122000843061F581E08093E9009FEF25ED05C0F2\r
-:10123000822F8A95F1F7992329F08091E800915047\r
-:1012400085FFF6CF8091E80085FF18C0812F902F91\r
-:1012500068E070E040E050E00E94A70B8091E80059\r
-:101260008E778093E800A9E6B1E0212F302FC901E5\r
-:10127000FC0188E001900D928150E1F71F910F91E0\r
-:10128000089584B7877F84BF88E10FB6F894809370\r
-:101290006000109260000FBE80E090E020E80FB682\r
-:1012A000F89420936100809361000FBE0E94F30FB9\r
-:1012B0000E94850C0E94E60C8091E200846080937D\r
-:1012C000E20078940E94840F0E94A81082E091E0CE\r
-:1012D0000E949A0F0CC00E94F61B8091E0018823A7\r
-:1012E00031F00E94221C882311F00E94BC0A8091D8\r
-:1012F000E201853081F30E94F90FF9CF8091E1017D\r
-:10130000882349F40E94850C0E94E60C8091E2003B\r
-:1013100084608093E20008958091E401833009F4B1\r
-:1013200055C0843030F4813071F0823009F0AFC0A4\r
-:1013300096C08A3009F483C08B3009F468C08930C4\r
-:1013400009F0A5C020C08091E301813A09F09FC057\r
-:101350008091E800877F8093E8008091E701909179\r
-:10136000E801892B21F489E691E068E003C080E080\r
-:1013700090E060E070E00E94D20A8091E8008B77F4\r
-:101380008093E80008958091E301813209F07FC0E5\r
-:101390008091E7019091E801892B09F078C0809154\r
-:1013A000E800877F8093E80005C08091E2018823F0\r
-:1013B00009F46DC08091E80082FFF7CF8091F100C1\r
-:1013C000809368018091E8008B771CC08091E301D5\r
-:1013D000813A09F05CC08091E7019091E801892B86\r
-:1013E00009F055C08091E800877F8093E8008091E4\r
-:1013F000E80080FFFCCF809101018093F100809193\r
-:10140000E8008E778093E8000E94320C0895809166\r
-:10141000E3018132E1F58091E7019091E801892BA8\r
-:10142000B1F58091E800877F8093E8000E94320C3C\r
-:101430008091E501809301010E9417110895809128\r
-:10144000E301813221F58091E800877F8093E800F5\r
-:101450000E94320C8091E60180936701089580918B\r
-:10146000E301813AA1F48091E800877F8093E8004E\r
-:101470008091E80080FFFCCF809167018093F100AC\r
-:101480008091E8008E778093E8000E94320C0895E6\r
-:1014900081E061EC42E00E94FA0B82E061EC42E004\r
-:1014A0000E94FA0B83E061EC42E00E94FA0B08957F\r
-:1014B0000E94EA1B0895DA019330C1F0943030F4B1\r
-:1014C000913051F0923009F04FC00BC0913221F1B0\r
-:1014D000923209F049C032C0EEE8F2E022E130E099\r
-:1014E00047C0E0EAF2E024E530E042C0813051F04C\r
-:1014F000813020F0823009F037C008C0E4EFF2E01C\r
-:10150000849107C0E8EFF2E0849103C0E6E2F3E0E3\r
-:101510008491282F30E02CC0613041F0613018F008\r
-:10152000623011F508C0E2EBF2E002C0EBECF2E051\r
-:1015300029E030E01DC0E4EEF2E0FACF613051F076\r
-:10154000613018F0623081F40AC0ECECF1E02FE376\r
-:1015500030E00EC0EBE0F2E02DE430E009C0E8E559\r
-:10156000F2E026E330E004C0E0E0F0E020E030E02C\r
-:10157000ED93FC93C901089580E189BD82E189BDA5\r
-:1015800009B400FEFDCF8091D8008F7D8093D800F4\r
-:101590008091E00082608093E0008091E00081FD16\r
-:1015A000FCCF08959C014091E9015091EA01461752\r
-:1015B000570718F4F90190E043C06115710511F067\r
-:1015C000AB01F8CF8091E8008E778093E80040E08F\r
-:1015D00050E0F0CF8091E201882309F447C08530C4\r
-:1015E00009F446C08091E80083FD44C08091E80082\r
-:1015F00082FD36C08091E80080FF22C08091F30018\r
-:101600009091F200782F60E0292F30E0262B372BC5\r
-:1016100007C081918093F100415050402F5F3F4FB0\r
-:101620004115510519F02830310598F390E0283024\r
-:10163000310509F491E08091E8008E778093E8000D\r
-:101640004115510539F6992329F60AC08091E20126\r
-:10165000882361F0853061F08091E80083FD0AC045\r
-:101660008091E80082FFF2CF80E0089582E0089543\r
-:1016700083E0089581E008959C014091E901509133\r
-:10168000EA014617570718F4F90190E044C06115C4\r
-:10169000710511F0AB01F8CF8091E8008E7780934F\r
-:1016A000E80040E050E0F0CF8091E201882309F4A7\r
-:1016B00048C0853009F447C08091E80083FD45C0EB\r
-:1016C0008091E80082FD37C08091E80080FF23C050\r
-:1016D0008091F3009091F200782F60E0292F30E0A4\r
-:1016E000262B372B08C084918093F100319641500E\r
-:1016F00050402F5F3F4F4115510519F028303105FB\r
-:1017000090F390E02830310509F491E08091E800F1\r
-:101710008E778093E8004115510531F6992321F623\r
-:101720000AC08091E201882361F0853061F08091E8\r
-:10173000E80083FD0AC08091E80082FFF2CF80E0DC\r
-:10174000089582E0089583E0089581E00895BF92AE\r
-:10175000CF92DF92EF92FF920F931F93CF93DF937D\r
-:10176000182F092F7B016A010E94530CB82E882381\r
-:10177000B1F5812F902F9C01E901C114D10439F0FA\r
-:10178000F60180819181E81AF90AC80FD91F00E09B\r
-:1017900010E022C08091E80085FD16C08091E8002D\r
-:1017A0008E778093E800C114D10449F0F60180815E\r
-:1017B0009181800F911F9183808385E011C00E94E9\r
-:1017C000530C882349F00CC089918093F100089450\r
-:1017D000E108F1080F5F1F4FE114F104D9F68B2DDA\r
-:1017E000DF91CF911F910F91FF90EF90DF90CF90FD\r
-:1017F000BF900895382F282F2EC0822F8F7080938E\r
-:10180000E900231721F4762F942F50E006C0709141\r
-:10181000EC009091ED005091F00091FF1BC0809181\r
-:10182000EB008E7F8093EB008091ED008D7F8093A5\r
-:10183000ED008091EB0081608093EB007093EC00F1\r
-:101840009093ED005093F0008091EE0087FD02C070\r
-:1018500080E008952F5F273080F23F703093E900D9\r
-:1018600081E008958091E30188239CF404C0809175\r
-:10187000E2018823B9F08091E80082FFF8CF8091DF\r
-:10188000E8008B778093E80008958091E201882337\r
-:1018900049F08091E80080FFF8CF8091E8008E77D2\r
-:1018A0008093E80008954091E4005091E50024E61B\r
-:1018B0008091EC0080FF24C08091E80080FD1EC074\r
-:1018C0008091E201882311F482E00895853011F4BB\r
-:1018D00083E008958091EB0085FF02C081E00895C8\r
-:1018E0008091E4009091E5008417950709F3222385\r
-:1018F00011F484E008952150AC01DACF80E008951E\r
-:101900008091E80082FFDCCFF9CF0E94F80C0E94A2\r
-:10191000000DE0EEF0E0808181608083A8EDB0E012\r
-:101920008C918F778C9319BCE7EDF0E080818E7FEE\r
-:1019300080838C918F7E8C931092E1010895EF92B9\r
-:10194000FF920F931F930E94F80C0E94000D08ED68\r
-:1019500010E0F80180818F778083808180688083A8\r
-:1019600080818F7D808319BC1092E2011092DE018C\r
-:101970001092E0011092DF0180EEE82EF12CF701C9\r
-:1019800080818B7F8083F80180818160808380E00B\r
-:1019900060E042E00E94FA0BE1EEF0E080818E7F91\r
-:1019A0008083E2EEF0E080818160808380818860C6\r
-:1019B0008083F70180818E7F8083F8018081806140\r
-:1019C00080831F910F91FF90EF900895E8EDF0E074\r
-:1019D00080818F7E8083E7EDF0E08081816080836D\r
-:1019E00084E082BF81E08093E1010E949F0C089512\r
-:1019F000E8EDF0E080818E7F80831092E200089510\r
-:101A00001092DA001092E10008951F920F920FB623\r
-:101A10000F9211241F932F933F934F935F936F93D4\r
-:101A20007F938F939F93AF93BF93EF93FF93109107\r
-:101A3000E9008091EC001092E9008091F000877F2E\r
-:101A40008093F00078940E94130E1092E900809128\r
-:101A5000F00088608093F0001F701093E900FF9100\r
-:101A6000EF91BF91AF919F918F917F916F915F9116\r
-:101A70004F913F912F911F910F900FBE0F901F908C\r
-:101A800018951F920F920FB60F9211242F933F9328\r
-:101A90004F935F936F937F938F939F93AF93BF9376\r
-:101AA000EF93FF938091E10082FF0BC08091E200F1\r
-:101AB00082FF07C08091E1008B7F8093E1000E944C\r
-:101AC000830F8091DA0080FF1FC08091D80080FFD3\r
-:101AD0001BC08091DA008E7F8093DA008091D9005C\r
-:101AE00080FF0DC080E189BD82E189BD09B400FE9F\r
-:101AF000FDCF81E08093E2010E947E0905C019BC00\r
-:101B00001092E2010E9470088091E10080FF19C0EC\r
-:101B10008091E20080FF15C08091E2008E7F80936B\r
-:101B2000E2008091E20080618093E2008091D80021\r
-:101B300080628093D80019BC85E08093E2010E9406\r
-:101B400074088091E10084FF30C08091E20084FF3E\r
-:101B50002CC080E189BD82E189BD09B400FEFDCFC2\r
-:101B60008091D8008F7D8093D8008091E1008F7E96\r
-:101B70008093E1008091E2008F7E8093E20080916B\r
-:101B8000E20081608093E2008091DE01882311F001\r
-:101B900084E007C08091E30087FD02C081E001C0BE\r
-:101BA00083E08093E2010E94580A8091E10083FF64\r
-:101BB00029C08091E20083FF25C08091E100877FEA\r
-:101BC0008093E10082E08093E2011092DE01809137\r
-:101BD000E1008E7F8093E1008091E2008E7F809310\r
-:101BE000E2008091E20080618093E20080E060E0AA\r
-:101BF00042E00E94FA0B8091F00088608093F00030\r
-:101C00000E947308FF91EF91BF91AF919F918F91C7\r
-:101C10007F916F915F914F913F912F910F900FBEE8\r
-:101C20000F901F9018951F93DF93CF93CDB7DEB71A\r
-:101C3000AC970FB6F894DEBF0FBECDBFE3EEF1E078\r
-:101C40008091F100819321E0EB3EF207C9F70E94F9\r
-:101C50008C098091E80083FF3EC18091E3013091BF\r
-:101C6000E401353009F487C0363040F43130C9F131\r
-:101C7000313070F0333009F02EC133C0383009F400\r
-:101C8000F9C0393009F409C1363009F024C197C0D0\r
-:101C9000803821F0823809F01EC108C09091DF0120\r
-:101CA0008091E001882399F0926011C08091E70152\r
-:101CB0008F708093E9008091EB0090E025E096958D\r
-:101CC00087952A95E1F7982F91701092E9008091FD\r
-:101CD000E800877F8093E8009093F1001092F10074\r
-:101CE000D4C0882319F0823009F0F5C090E08F71DC\r
-:101CF0009070009721F0029709F0EDC00CC0809120\r
-:101D0000E501813009F0E7C01092E001333069F558\r
-:101D10008093E0012AC08091E501882331F520916C\r
-:101D2000E7012F7009F4D7C02093E9008091EB0000\r
-:101D300080FF1BC0333021F48091EB00806213C020\r
-:101D40008091EB0080618093EB0081E090E002C025\r
-:101D5000880F991F2A95E2F78093EA001092EA0013\r
-:101D60008091EB0088608093EB001092E9008091F5\r
-:101D7000E800877F8DC0882309F0ADC01091E50190\r
-:101D80001F778091E3008078812B8093E30080911E\r
-:101D9000E800877F8093E8000E94320C8091E80081\r
-:101DA00080FFFCCF8091E30080688093E3001123E3\r
-:101DB00011F482E001C083E08093E2018CC080587E\r
-:101DC000823008F088C08091E5019091E60123E01F\r
-:101DD0008C3D920709F034C083E08C838AE28B83C8\r
-:101DE0007FB7F894DE0115966EE040E050E011E216\r
-:101DF000E62FF0E010935700849140FF03C08295D6\r
-:101E00008F706F5F8F70282F30E08A3018F0C90113\r
-:101E1000C79602C0C901C0968D939D934F5F5F4FD7\r
-:101E20004431510529F77FBF8091E800877F809377\r
-:101E3000E800CE0103966AE270E00E94D20A14C064\r
-:101E40006091E701AE014F5F5F4F0E945B0ABC01EA\r
-:101E5000009709F440C08091E800877F8093E800F4\r
-:101E600089819A810E943C0B8091E8008B77809356\r
-:101E7000E80031C0803879F58091E800877F809351\r
-:101E8000E8008091DE018093F1008091E8008E7778\r
-:101E90008093E8000E94320C1EC08823E1F49091E8\r
-:101EA000E5019230C0F48091E800877F8093E800DC\r
-:101EB0009093DE010E94320C8091DE01882331F480\r
-:101EC0008091E30087FD02C081E001C084E080933F\r
-:101ED000E2010E94480A8091E80083FF0AC08091D5\r
-:101EE000E800877F8093E8008091EB008062809318\r
-:101EF000EB00AC960FB6F894DEBF0FBECDBFCF910E\r
-:101F0000DF911F91089508951F938091E201882326\r
-:101F100079F01091E9008091EC001092E900809135\r
-:101F2000E80083FF02C00E94130E1F701093E900A7\r
-:101F30001F91089590937601809375010895E09123\r
-:101F40007501F0917601309711F480E008950190C9\r
-:101F5000F081E02D09950895E0917501F0917601E9\r
-:101F6000309721F00280F381E02D09950895E091EA\r
-:101F70007501F0917601309721F00480F581E02D14\r
-:101F8000099508959C01809173019091740128171F\r
-:101F9000390779F03093740120937301E091750152\r
-:101FA000F0917601309729F00680F781E02DC90184\r
-:101FB000099508959C0180917101909172012817F3\r
-:101FC000390779F03093720120937101E091750126\r
-:101FD000F0917601309729F00084F185E02DC90158\r
-:101FE0000995089508950E94F20F08950E946805CA\r
-:101FF00008952F923F925F926F927F928F929F925D\r
-:10200000AF92BF92CF92DF92EF92FF920F931F9306\r
-:10201000DF93CF93CDB7DEB72A970FB6F894DEBF24\r
-:102020000FBECDBF0E94230728E7822E21E0922E0B\r
-:10203000AA24BB2491E0292E312C5A2C8A2D0E94EF\r
-:102040006B056C01F401E080F180E826F926E114CB\r
-:10205000F104E1F18091CD0181FF02C00E9474057D\r
-:1020600000E010E03101002E02C0660C771C0A94DB\r
-:10207000E2F7C3018E219F21892B19F10E944C1C8C\r
-:102080009C0109835A821B82C620D720CD2811F0DB\r
-:1020900081E08B83C9018160782F9D838C83498186\r
-:1020A0005A816B818D810E941C15F501EE0FFF1F77\r
-:1020B000E858FE4F80819181862597259183808302\r
-:1020C00021C00F5F1F4F0C30110561F60894A11C51\r
-:1020D000B11C82E090E0880E991E94E0A916B1042C\r
-:1020E00009F0ABCF0E944C1C2FEF2E832F83188654\r
-:1020F0008160782F9A8789874FEF5FEF60E08A854C\r
-:102100000E941C150E94B41E109177010E949F0F1F\r
-:10211000181731F00E949F0F809377010E94F60FED\r
-:102120002A960FB6F894DEBF0FBECDBFCF91DF91D8\r
-:102130001F910F91FF90EF90DF90CF90BF90AF90E5\r
-:102140009F908F907F906F905F903F902F90089519\r
-:102150000E94431C0E943F060E94CD1C0E942A221E\r
-:102160000895DF93CF9300D000D00F92CDB7DEB7A4\r
-:102170000F900F900F900F900F90CF91DF910895D7\r
-:10218000DF93CF9300D000D000D0CDB7DEB7269636\r
-:102190000FB6F894DEBF0FBECDBFCF91DF9108958B\r
-:1021A0000E94DA19482F892F82958F70282F30E0EE\r
-:1021B0002C3031054CF42A3031056CF4225030407B\r
-:1021C00022303105E8F407C02C30310579F02F308A\r
-:1021D0003105B1F40BC0403F39F0413F18F4403EA7\r
-:1021E00078F402C0443F61F481E008959F70892F24\r
-:1021F00090E023E0969587952A95E1F78170089500\r
-:1022000080E008950E94431B0E94531B0E94181BEC\r
-:102210000E946B1B0E949D1E0E94A91E80E090E000\r
-:102220000E94C20F80E090E00E94DA0F08950E94A1\r
-:10223000331B0E9402110895882321F00E942C1B59\r
-:102240000E946B1B0895882321F00E94261B0E9488\r
-:102250006B1B0895282F882309F44EC0823859F447\r
-:102260000E949F0F81FF48C089E30E94E71A0E94E5\r
-:102270006B1B89E30CC0833869F40E949F0F80FFB9\r
-:102280003BC083E50E94E71A0E946B1B83E50E9416\r
-:10229000051B1FC0843859F40E949F0F82FF2CC079\r
-:1022A00087E40E94E71A0E946B1B87E4F0CF8450FA\r
-:1022B000813A10F4822FEBCF822F805E883060F459\r
-:1022C000277081E090E001C0880F2A95EAF70E940C\r
-:1022D0002C1B0E946B1B0895822F855A833028F493\r
-:1022E00080E090E00E94C20F0895285A233120F424\r
-:1022F00080E090E00E94DA0F08951F93182F882342\r
-:1023000009F4D0C0823859F40E949F0F81FDCAC0E1\r
-:1023100089E30E94E71A0E946B1B89E30CC0833893\r
-:1023200079F40E949F0F80FDBDC083E50E94E71AEB\r
-:102330000E946B1B83E50E94051B0E946B1BB2C0B1\r
-:10234000843859F40E949F0F82FDACC087E40E943C\r
-:10235000E71A0E946B1B87E4EECF8450813A50F459\r
-:10236000812F0E94D020882309F09CC0812F0E94D9\r
-:10237000E71AE3CF812F805E883050F4177081E038\r
-:1023800090E001C0880F1A95EAF70E94261BD5CF6E\r
-:10239000812F855A8330A0F4153A19F481E890E032\r
-:1023A0000CC0163A19F482E890E007C0173A19F009\r
-:1023B00080E090E002C083E890E00E94C20F72C00B\r
-:1023C000812F885A833108F06DC0183A19F482EED3\r
-:1023D00090E066C0193A19F489EE90E061C01A3AAB\r
-:1023E00019F48AEE90E05CC01B3A19F485EB90E09A\r
-:1023F00057C01C3A19F486EB90E052C01B3B19F40D\r
-:1024000083EB90E04DC01C3B19F484EB90E048C096\r
-:102410001D3A19F487EB90E043C0103B19F48CECA3\r
-:1024200090E03EC01E3A19F48DEC90E039C01F3A9E\r
-:1024300019F483E891E034C0113B19F48AE891E083\r
-:102440002FC0123B19F482E991E02AC0133B19F422\r
-:1024500084E991E025C0143B19F481E292E020C0A8\r
-:10246000153B19F483E292E01BC0163B19F484E299\r
-:1024700092E016C0173B19F485E292E011C0183BB8\r
-:1024800019F486E292E00CC0193B19F487E292E05D\r
-:1024900007C01A3B19F080E090E002C08AE292E0A7\r
-:1024A0000E94DA0F1F9108959F92AF92BF92CF9230\r
-:1024B000DF92EF92FF920F931F93DF93CF93CDB7ED\r
-:1024C000DEB72A970FB6F894DEBF0FBECDBF5C0112\r
-:1024D000DE011196FC0185E001900D928150E1F73B\r
-:1024E0000B81F501F580F2944FE0F422DE0116969F\r
-:1024F000FE01319685E001900D928150E1F73E8119\r
-:102500002F8189859A85892B09F484C22F3F09F090\r
-:1025100070C23F3F09F06DC27DC20E94431B0E9402\r
-:10252000E11A882379F0002369F08C2D805E8830D1\r
-:1025300048F082E00E949C1B0E94E11A9924939427\r
-:10254000982601C099248D2D82958F7090E085305A\r
-:10255000910509F4B5C08630910554F48430910595\r
-:102560000CF08FC02D2D207F02970CF049C017C0B2\r
-:102570008C30910544F48A3091050CF072C10897B3\r
-:1025800009F023C2A9C08D30910509F4EDC18D3049\r
-:1025900091050CF4DFC10F9709F017C20FC28D2D02\r
-:1025A0008F70222311F4182F03C0182F1295107F5B\r
-:1025B000002389F0112309F4B9C18C2D805E883085\r
-:1025C00020F4812F0E94261B03C0812F0E94361BFE\r
-:1025D0000E946B1BABC18C2D0E942A11112309F4A0\r
-:1025E000F4C1F0E2CF0E27E02C1520F0812F0E94DD\r
-:1025F0002C1B03C0812F0E943C1B0E946B1BE5C15A\r
-:102600008D2D8F70203211F4182F03C0182F1295C2\r
-:10261000107FCC2021F081E0C81609F514C00023FA\r
-:1026200049F0FF2031F1E1E0FE1619F5812F0E94FB\r
-:10263000561BCBC1FF2021F0F1E0FF1609F4C5C104\r
-:102640000E94591B30C1002329F025E02F1508F402\r
-:10265000BCC10FC084E08F1508F4B7C124C10023AA\r
-:1026600061F0FF2031F0F501858180FF5FC18F703F\r
-:102670008583812F0E942311A8C1FF2009F413C173\r
-:1026800060C18D2D86958695837090E0009721F02E\r
-:10269000019709F09AC10AC0002319F0C60193708E\r
-:1026A00002C080E090E00E94C20F8FC1002319F0A9\r
-:1026B000C601937002C080E090E00E94DA0F85C1ED\r
-:1026C000002321F08C2D0E94AB1D03C08C2D0E9495\r
-:1026D000151E0E94A91E79C18D2D837009F05EC060\r
-:1026E000002309F072C12C2D229526952770220F08\r
-:1026F000220F8C2D8F70E82EFF2400E010E0022EB8\r
-:1027000004C0EE0CFF1C001F111F0A94D2F7C4FC7A\r
-:1027100005C060E070E080E090E00FC06FE070E026\r
-:1027200080E090E004C0660F771F881F991F2A95EC\r
-:10273000D2F76095709580959095D694D694F3E0F5\r
-:10274000DF224D2D50E041305105A9F042305105B6\r
-:102750001CF4452B49F039C14230510589F0433012\r
-:10276000510509F032C113C06E297F29802B912BAE\r
-:102770000E94B21A2AC16E297F29802B912B0BC08F\r
-:102780006E297F29802B912B0E94A11A1EC10E94C5\r
-:10279000B21AC801B7010E94C31A17C190E0002302\r
-:1027A00011F496958795817009F40FC12C2D22950F\r
-:1027B00026952770220F220F8C2D8F70E82EFF2474\r
-:1027C00000E010E0022E04C0EE0CFF1C001F111FE1\r
-:1027D0000A94D2F7C4FC05C060E070E080E090E0AD\r
-:1027E0000FC06FE070E080E090E004C0660F771FDC\r
-:1027F000881F991F2A95D2F76095709580959095BE\r
-:10280000D694D69423E0D2224D2D50E0413051058C\r
-:10281000A9F0423051051CF4452B49F0D6C0423096\r
-:10282000510589F04330510509F0CFC013C06E291E\r
-:102830007F29802B912B0E94051AC7C06E297F2902\r
-:10284000802B912B0BC06E297F29802B912B0E940E\r
-:10285000F419BBC00E94051AC801B7010E94161ADC\r
-:10286000B4C081EFC81699F18C1540F0E0EECE1699\r
-:1028700008F458C0FFEEFC1558F419C023EFC21637\r
-:1028800081F1C21648F184EFC81609F04BC033C07D\r
-:102890001C2D1F708D2D8F71002319F00E94631A5B\r
-:1028A000E8CE0E94431A812F0E941C118EC0002383\r
-:1028B00029F0E4E0EF1508F488C004C0F5E0FF1546\r
-:1028C00008F483C08D2D8F710E94271A7EC08D2D34\r
-:1028D0008F710023E1F130C08D2D8F71002361F1E4\r
-:1028E00036C0002329F08D2D8F710E947F1A6DC094\r
-:1028F0000E948F1A6AC0002351F01D2D1F71812F75\r
-:102900000E94631A812F63E00E94B51B5EC081E0C4\r
-:102910000E949C1B21E02F1508F057C082E00E9406\r
-:102920009C1B53C0002359F0FF2021F08C2D0E94E6\r
-:102930007D114BC08D2D8F710E94631A46C0FF2000\r
-:1029400021F08C2D0E942A1140C08D2D8F710E9484\r
-:10295000431A3BC08FE0D822C5016C2D4D2D0E943B\r
-:10296000EE010E94181931C0002379F5EFE0DE2254\r
-:102970004D2D50E042305105B9F0433051053CF443\r
-:102980004115510559F041305105F9F40AC0433061\r
-:10299000510569F044305105C1F40CC00E94152264\r
-:1029A00014C00E94F82111C00E94E3210EC00E94B1\r
-:1029B000BC210BC08C2D0E94A02107C0FFE0DF22AC\r
-:1029C000C5016C2D4D2D0E946E02992019F10E94B7\r
-:1029D000DD1A80FD1FC0F50112820E94D71A0E94E5\r
-:1029E000631AC5010E9454120E94D71A0E94431A0A\r
-:1029F00011C0C5010E94070269817A81802F0E945F\r
-:102A0000E5196C010E9492190E949119002309F4A2\r
-:102A100086CD83CD2A960FB6F894DEBF0FBECDBF0C\r
-:102A2000CF91DF911F910F91FF90EF90DF90CF90AA\r
-:102A3000BF90AF909F900895DF93CF93CDB7DEB74F\r
-:102A40002B970FB6F894DEBF0FBECDBF342F4F8348\r
-:102A5000252F588769877A878B87472F582FFE0144\r
-:102A6000319686E0DF011D928A95E9F76B83398301\r
-:102A70002A834C835D83432F522F8D819E810E9438\r
-:102A800059182B960FB6F894DEBF0FBECDBFCF916D\r
-:102A9000DF9108950F931F930091870115C010E0F7\r
-:102AA000F801EE0FFF1FE00FF11FEE0FFF1FE857B9\r
-:102AB000FE4F4081518162817381848195810E94A2\r
-:102AC000C0100F5F1F4F077080918601081739F7FC\r
-:102AD0001F910F9108954091800150918101609163\r
-:102AE00082017091830180918401909185010E94FF\r
-:102AF000C01008950F931F93CF93DF9380918501AA\r
-:102B000082958F7009F06DC080918201882309F44D\r
-:102B100068C06091870100918601409183015091C6\r
-:102B200084011091810170918001EA01C095D095D6\r
-:102B300055C04115510509F44FC01F3F49F480E0CD\r
-:102B400090E07F3F11F481E090E0882309F044C0D9\r
-:102B5000262F30E0F901EE0FFF1FE20FF31FDF0118\r
-:102B6000AA0FBB1FA857BE4F11968C91119718172B\r
-:102B700099F58C91781781F5EE0FFF1FE657FE4F00\r
-:102B80008081882349F513968D919C911497841721\r
-:102B9000950718F0841B950B02C08C0F9D1F883C75\r
-:102BA0009105D0F4809185018F70806180938501BB\r
-:102BB000F901EE0FFF1FE20FF31FEE0FFF1FE357A8\r
-:102BC000FE4F80818F708061808380E891E00E9459\r
-:102BD00054120E944A1505C06F5F6770601709F0B4\r
-:102BE000A8CFDF91CF911F910F910895DF92EF92BF\r
-:102BF000FF920F931F93DF93CF93CDB7DEB76B9701\r
-:102C00000FB6F894DEBF0FBECDBF8C01DC0112966B\r
-:102C1000DC9012974C9111965C9111971396ED9060\r
-:102C2000FC9014972091830130918401609181017F\r
-:102C3000709180012115310509F4DBC16F3F09F066\r
-:102C400003C27F3F09F000C2D4C1E216F30640F090\r
-:102C5000C701821B930B883C910508F0EEC008C0A9\r
-:102C6000209530952E0D3F1D283C310508F0E5C01C\r
-:102C700080918501807F09F095C06F3F09F0EAC11E\r
-:102C80007F3F09F0E7C115C0741799F4DD2089F47E\r
-:102C9000809185018F708061809385010E946B1502\r
-:102CA00080E891E00E94541280918501F8018583AB\r
-:102CB000BCC1FD82EC825A834983DB82DE01169619\r
-:102CC000FE01319685E001900D928150E1F7688513\r
-:102CD000DE011B96FE01369685E001900D92815033\r
-:102CE000E1F72C853B858E859F85892B09F451C0A2\r
-:102CF0002F3F09F0B3C13F3F09F0B0C14AC0FD8288\r
-:102D0000EC825A834983DB82DE011B96FE013196F9\r
-:102D100085E001900D928150E1F7FC847B856D8503\r
-:102D200080918701909186011FC0282F30E0F90122\r
-:102D3000EE0FFF1FE20FF31FDF01AA0FBB1FA85703\r
-:102D4000BE4F11968C911197F81651F48C9178170B\r
-:102D500039F4EE0FFF1FE657FE4F80816817C9F464\r
-:102D60002F5F3F4F822F87708917F9F68DC19F70B3\r
-:102D700059F0442349F459C19F7031F0D801159698\r
-:102D80008C91807F09F451C1405E483008F44DC1F8\r
-:102D900048C1DD2009F449C180918501816080939B\r
-:102DA000850143C16F3F09F05DC17F3F09F05AC102\r
-:102DB00014C0741791F4DD2081F480918501F8012D\r
-:102DC0008583C8010E945412A0E8B1E0F80186E0B2\r
-:102DD00001900D928150E1F720C15A834983898186\r
-:102DE0009A810E94D010882309F41BC1DD2009F4C8\r
-:102DF00018C130918501832F82958F7090E00297E2\r
-:102E00009CF09091810120918001FE01709686E0F6\r
-:102E1000DF011D928A95E9F7998B288BFC8AEB8A52\r
-:102E20003D8BCF010E945412A0E8B1E0F80186E08A\r
-:102E300001900D928150E1F7EEC080918501807F75\r
-:102E4000A9F47E2DFD82EC825A834983DB826D2DAD\r
-:102E50008D810E94B11000E811E0C8010E94541257\r
-:102E600086E0F80111928A95E9F7C0C06F3F09F03A\r
-:102E7000FDC07F3F09F0FAC014C0741791F4DD2043\r
-:102E800081F480918501D80115968C93C8010E9428\r
-:102E90005412E0E8F1E086E0DF011D928A95E9F73F\r
-:102EA000BEC05A83498389819A810E94D0108823A9\r
-:102EB00009F4B7C0DD2009F4B4C030918501832F37\r
-:102EC00082958F7090E002979CF090918101209103\r
-:102ED0008001FE01769686E0DF011D928A95E9F772\r
-:102EE0009F8B2E8BFA8EE98E3B8FCF010E9454125E\r
-:102EF000A0E8B1E0F80186E001900D928150E1F781\r
-:102F00008AC06F3F09F0B6C07F3F09F0B3C071C0FF\r
-:102F1000E216F30640F0C701821B930B883C910533\r
-:102F200008F053C008C0209530952E0D3F1D283C59\r
-:102F3000310508F04AC0DD2009F473C06F3F09F085\r
-:102F40009FC07F3F09F09CC029C0741739F590914C\r
-:102F5000850190FD1AC0892F82958F70B1F0F8011C\r
-:102F600095838F3031F08F5F8295807F9F70982B93\r
-:102F70009583C8010E945412A0E8B1E0F80186E0F0\r
-:102F800001900D928150E1F748C0A0E8B1E0F8014E\r
-:102F900086E001900D928150E1F741C05A83498348\r
-:102FA00089819A810E94D010882349F0A0E8B1E07D\r
-:102FB000F80186E001900D928150E1F72CC08091DC\r
-:102FC00085018160809385012CC07E2DFD82EC827D\r
-:102FD0005A834983DB826D2D8D810E94B110E0E818\r
-:102FE000F1E086E0DF011D928A95E9F70E946B15FA\r
-:102FF0001CC0DD20B1F05A83498389819A810E94E7\r
-:10300000D010882371F0A0E8B1E0F80186E00190CB\r
-:103010000D928150E1F70E947A150E946B1581E0B4\r
-:1030200005C0C8010E945412FACF80E06B960FB61B\r
-:10303000F894DEBF0FBECDBFCF91DF911F910F91EE\r
-:10304000FF90EF90DF90089580918201882309F42A\r
-:1030500058CFFBCD651709F02CCE16CE613009F4A0\r
-:1030600098CE4DCE651709F0B8CEA3CE651709F0FE\r
-:1030700018CF03CF80918201882309F0BACF48CFBF\r
-:10308000651709F08BCF61CF5A83498389819A8173\r
-:103090000E94DA19482F892F82958F70282F30E0EF\r
-:1030A000223031050CF463CE243031050CF0B9CF59\r
-:1030B00063CE0F931F93DF93CF93CDB7DEB72C97DB\r
-:1030C0000FB6F894DEBF0FBECDBF4F835887698718\r
-:1030D0007A878B879C878E01095F1F4FC8010E94EA\r
-:1030E000F6158823D9F028853F818A859B85892B11\r
-:1030F00009F46BC02F3F49F480E090E03F3F11F4AA\r
-:1031000081E090E0882309F060C04F81588569858F\r
-:103110007A858B859C850E94C01057C0DE01119670\r
-:10312000F80186E001900D928150E1F7F981EA8182\r
-:103130004C815D814115510509F447C0EF3F09F00D\r
-:103140004CC0FF3F09F049C040C0F983EA835D836A\r
-:103150004C83F901EE0FFF1FE20FF31FEE0FFF1F6D\r
-:10316000E857FE4FDE01119686E00D9001928150E6\r
-:10317000E1F7609386010E944A1527C0919FC00124\r
-:10318000112488579E4F0E94F615882309F445C0E4\r
-:103190008091870190E0FC01EE0FFF1FE80FF91FFF\r
-:1031A000EE0FFF1FE857FE4F40815181628173810E\r
-:1031B000848195810E94C0108091870190E00196E2\r
-:1031C000877090708093870101C016E0909187010D\r
-:1031D00080918601981791F620C080918601282F52\r
-:1031E00030E02F5F3F4FB901677070702150304061\r
-:1031F0008091870190E06817790709F0A6CF0E94B7\r
-:1032000017111092860110928701E0E8F1E086E044\r
-:10321000DF011D928A95E9F7D8CF2C960FB6F89466\r
-:10322000DEBF0FBECDBFCF91DF911F910F910895EB\r
-:10323000CF92DF92EF92FF921F93CF93DF93EC0137\r
-:10324000009709F466C010E090EAC92E9FE0D92EDD\r
-:1032500081E0E82EF12CFE0121969491943748F4F8\r
-:10326000943008F044C0913079F0923009F051C0A8\r
-:103270001BC0953709F437C0953750F1892F845812\r
-:10328000803708F046C037C0FE0121969491892FFF\r
-:10329000805E883060F597708E2D01C0880F9A95FA\r
-:1032A000EAF70E94461B0FC0FE0121969491892FD8\r
-:1032B000805E883058F497708E2D01C0880F9A95E3\r
-:1032C000EAF70E944C1B0E946B1B19C0892F15C086\r
-:1032D000FE01249104C0C6010197F1F72150222379\r
-:1032E000D1F721960CC0FE012196149108C0892FB8\r
-:1032F0000E947D1104C0892F8F770E942A11212FEF\r
-:1033000004C0C6010197F1F72150222309F4A3CF8D\r
-:10331000F8CFDF91CF911F91FF90EF90DF90CF908A\r
-:10332000089508950895AF92BF92DF92EF92FF92B1\r
-:103330000F931F93CF93DF935C01E090B801F0905F\r
-:10334000B9010091BA011091BB018091BC0190912B\r
-:10335000BD01A091BE01B091BF01E82AF92A0A2B54\r
-:103360001B2BCFE1D0E0DC2ED801C7010C2E04C00E\r
-:10337000B695A795979587950A94D2F78170907026\r
-:10338000892B39F08C2FB5010E94D304813091052F\r
-:1033900031F421978FEFCF3FD80729F7DD248D2D0A\r
-:1033A000DF91CF911F910F91FF90EF90DF90BF9031\r
-:1033B000AF9008950F931F938C010E949319B80149\r
-:1033C0000E94D3041F910F910895CB010E94DA1936\r
-:1033D00008956093BC017093BD018093BE019093EA\r
-:1033E000BF010E94021108959B01AC016091BC01D4\r
-:1033F0007091BD018091BE019091BF01622773273A\r
-:10340000842795270E94E91908959B01AC016091DA\r
-:10341000BC017091BD018091BE019091BF016223FA\r
-:103420007323842395230E94E91908959B01AC011D\r
-:103430006091BC017091BD018091BE019091BF016E\r
-:10344000622B732B842B952B0E94E919089521E0A0\r
-:1034500030E040E050E004C0220F331F441F551FEE\r
-:103460008A95D2F78091BC019091BD01A091BE01D7\r
-:10347000B091BF01282739274A275B27CA01B90124\r
-:103480000E94E919089521E030E040E050E004C0D6\r
-:10349000220F331F441F551F8A95D2F72095309570\r
-:1034A000409550958091BC019091BD01A091BE01C5\r
-:1034B000B091BF01282339234A235B23CA01B901F4\r
-:1034C0000E94E919089521E030E040E050E004C096\r
-:1034D000220F331F441F551F8A95D2F78091BC01DC\r
-:1034E0009091BD01A091BE01B091BF01282B392B55\r
-:1034F0004A2B5B2BCA01B9010E94E919089521E00A\r
-:1035000030E040E050E004C0220F331F441F551F3D\r
-:103510008A95D2F7CA01B9010E94E919089560E0BD\r
-:1035200070E080E090E00E94E91908956093B8018E\r
-:103530007093B9018093BA019093BB010E9402116C\r
-:1035400008959B01AC016091B8017091B90180911F\r
-:10355000BA019091BB0162277327842795270E94A7\r
-:10356000961A08959B01AC016091B8017091B90160\r
-:103570008091BA019091BB01622373238423952328\r
-:103580000E94961A08959B01AC016091B801709158\r
-:10359000B9018091BA019091BB01622B732B842BEE\r
-:1035A000952B0E94961A08950E94961A089580916C\r
-:1035B000CC0185958595859508958091CC0187707E\r
-:1035C00008958091CC01877009F081E00895382F2B\r
-:1035D000A0910C01B0910D01FD0120E08FEF9281CF\r
-:1035E000931791F08F3F19F4992309F4822F2F5FDD\r
-:1035F00031962630A1F78F3F39F0992787FD9095B6\r
-:10360000A80FB91F12963C930895982F20E030E040\r
-:10361000E0910C01F0910D01E20FF31F82818917F7\r
-:1036200009F412822F5F3F4F2630310589F7089544\r
-:1036300081E090E0E0910C01F0910D01E80FF91F9D\r
-:103640001082019688309105A9F708959091C801DC\r
-:10365000982B9093C801089580959091C801982364\r
-:103660009093C80108951092C80108959091CB01DC\r
-:10367000982B9093CB01089580959091CB0198233E\r
-:103680009093CB0108951092CB0108959091CA01B7\r
-:10369000982B9093CA01089580959091CA01982320\r
-:1036A0009093CA0108951092CA0108958093C901A8\r
-:1036B00008951092C9010895E0910C01F0910D0157\r
-:1036C00020E091E0818181112F5F9F5F31969830DA\r
-:1036D000C9F7822F0895E0910C01F0910D018091BE\r
-:1036E000C8018083E0910C01F0910D0180819091DF\r
-:1036F000CB01892B8083E0910C01F0910D01808139\r
-:103700009091CA01892B80839091C901992369F016\r
-:10371000E0910C01F0910D018081892B80830E9442\r
-:103720005C1B882311F00E94591B80910C01909121\r
-:103730000D010E94AC0F08952091CC01482F4095B7\r
-:1037400042234093CC01842F877071F430E0842FA2\r
-:10375000992787FD90952817390731F0842F859593\r
-:10376000859585950E94431A0895982F990F990F72\r
-:10377000990F962B9093CC010E94631A0895089597\r
-:1037800008951F920F920FB60F9211248F939F935B\r
-:10379000AF93BF938091CE01882399F48091CF019C\r
-:1037A0009091D001A091D101B091D2014196A11D7B\r
-:1037B000B11D8093CF019093D001A093D101B0931C\r
-:1037C000D201BF91AF919F918F910F900FBE0F903B\r
-:1037D0001F9018950E94171180E00E9423020E94FA\r
-:1037E0002A220E949F0F0E94680508958091E2019D\r
-:1037F000843039F11092CE0120E488E190E00FB6D8\r
-:10380000F894A895809360000FBE2093600080E03C\r
-:103810000E94230280E00E94680583B7817F846054\r
-:1038200083BF83B7816083BF7894889583B78E7F89\r
-:1038300083BF88E10FB6F894809360001092600017\r
-:103840000FBE089580E00E9423020E94BF1B0E94C9\r
-:1038500023070E94C01B80E00E946B05892B81F426\r
-:1038600081E00E946B05892B59F482E00E946B0570\r
-:10387000892B31F483E00E946B0520E0892B09F04D\r
-:1038800021E0822F089582E084BD93E095BD9AEFF8\r
-:1038900097BD80936E0008958FB7F8942091CF0163\r
-:1038A0003091D0014091D1015091D2018FBFC90117\r
-:1038B0000895EF92FF920F931F93BC018FB7F89476\r
-:1038C000E090CF01F090D0010091D1011091D20190\r
-:1038D0008FBFA801970140705070CB01A0E0B0E00D\r
-:1038E000281739074A075B0720F09701261B370B7B\r
-:1038F00005C09B01209530952E0D3F1DC9011F91DC\r
-:103900000F91FF90EF9008951F920F920FB60F92B4\r
-:1039100011248F939F93AF93BF938091CF01909188\r
-:10392000D001A091D101B091D2010196A11DB11D8C\r
-:103930008093CF019093D001A093D101B093D20195\r
-:10394000BF91AF919F918F910F900FBE0F901F90DD\r
-:1039500018950E94850CF89480E29EE420E931E0FD\r
-:10396000F9013197F1F70197D9F787E090EBA7E0DC\r
-:10397000B0EB8093ED019093EE01A093EF01B09333\r
-:10398000F0012CE088E190E00FB6F894A8958093C0\r
-:1039900060000FBE20936000FFCF0E94051D8823AA\r
-:1039A00011F40E94101D0E94001D8093CD010E9401\r
-:1039B000F61C8093EB010E94FB1C90E0A0E0B0E0BD\r
-:1039C000BC01CD010E94D41A0895682F86E090E0D2\r
-:1039D0000E9493230895682F84E090E00E9493232F\r
-:1039E000089586E090E00E948523089584E090E0A9\r
-:1039F0000E948523089583E090E00E948523089526\r
-:103A000082E090E00E948523089580E090E00E948B\r
-:103A10008D2320E08D5E9E4F09F421E0822F0895D2\r
-:103A200080E090E06DEE7EEF0E94A52382E090E0C2\r
-:103A300060E00E94932383E090E060E00E94932383\r
-:103A400084E090E060E00E94932385E090E060E0F5\r
-:103A50000E94932386E090E060E00E949323089503\r
-:103A60008091D90180FF0BC09091100185E0989F53\r
-:103A7000C0011124959587959595879530C081FF54\r
-:103A800009C09091100185E0989FC001112495957F\r
-:103A9000879525C082FF03C0909110010DC08091D1\r
-:103AA000D801882319F485E090E008956091110110\r
-:103AB00090911001861728F085E0989FC00111248D\r
-:103AC0000EC0899F90011124C901880F991F880F8A\r
-:103AD000991F820F931F70E00E945E23CB018038F4\r
-:103AE000910510F08FE70895009709F481E008959B\r
-:103AF0008091D90180FF05C080911201869586953D\r
-:103B000018C081FF04C080911201869512C082FF07\r
-:103B100003C0809112010DC02091D801222319F415\r
-:103B200081E090E0089560911301809112012617C1\r
-:103B300010F090E007C0289FC001112470E00E949F\r
-:103B40005E23CB018038910510F08FE70895009730\r
-:103B500009F481E00895803F21F40E94301D819591\r
-:103B600004C0813F29F40E94301D8093D50108953F\r
-:103B7000823F21F40E94301D819504C0833F29F4C7\r
-:103B80000E94301D8093D4010895893F19F40E944A\r
-:103B9000781D05C08A3F31F40E94781D819580937D\r
-:103BA000D60108958B3F21F40E94781D819504C0B1\r
-:103BB0008C3F29F40E94781D8093D7010895843F9B\r
-:103BC00021F48091D301816017C0853F21F4809159\r
-:103BD000D301826011C0863F21F48091D3018460BB\r
-:103BE0000BC0873F21F48091D301886005C0883FD6\r
-:103BF00031F48091D30180618093D30108958D3F8A\r
-:103C000021F48091D901816005C08E3F31F480910B\r
-:103C1000D90182608093D90108958F3F29F4809162\r
-:103C2000D90184608093D9010895803F29F480915F\r
-:103C3000D50187FF6FC007C0813F41F48091D50156\r
-:103C400018160CF067C01092D50164C0823F29F4A9\r
-:103C50008091D40187FF5EC007C0833F41F480910B\r
-:103C6000D40118160CF056C01092D40153C0893FED\r
-:103C700029F48091D60118163CF04CC08A3F39F4E3\r
-:103C80008091D60187FF46C01092D60143C08B3F7A\r
-:103C900029F48091D70187FF3DC006C08C3F39F4DD\r
-:103CA0008091D7011816B4F51092D70133C0843F24\r
-:103CB00021F48091D3018E7F05C0853F31F480913E\r
-:103CC000D3018D7F8093D30125C0863F21F480915D\r
-:103CD000D3018B7FF7CF873F21F48091D301877F7A\r
-:103CE000F1CF883F21F48091D3018F7EEBCF8D3FC0\r
-:103CF00021F48091D9018E7F0BC08E3F21F48091F9\r
-:103D0000D9018D7F05C08F3F29F48091D9018B7F28\r
-:103D10008093D9018091D401882371F48091D501D9\r
-:103D2000882351F48091D601882331F48091D70102\r
-:103D3000882311F41092D8010895E3EDF1E085E0B5\r
-:103D4000DF011D928A95E9F71092D8011092D901EE\r
-:103D5000089583ED91E00E94B70F0E944C1C909350\r
-:103D6000DB018093DA0108951F938091DA0190912D\r
-:103D7000DB010E94591CAC012091D801222321F0C3\r
-:103D800080910F0190E006C090910E018AE0989F0B\r
-:103D9000C00111244817590708F485C09091D40137\r
-:103DA000992369F48091D501882349F48091D60143\r
-:103DB000882329F48091D701882309F474C02F3F08\r
-:103DC00019F02F5F2093D801191624F40E94301D9A\r
-:103DD0008093D4018091D40187FF05C00E94301DDB\r
-:103DE00081958093D4018091D501181624F40E9406\r
-:103DF000301D8093D5018091D50187FF05C00E94B9\r
-:103E0000301D81958093D5016091D401662339F1ED\r
-:103E10001091D501112319F1772767FD7095872F30\r
-:103E2000972F0E946F2223E333E343E35FE30E9473\r
-:103E3000D3220E943C226093D401612F772767FD33\r
-:103E40007095872F972F0E946F2223E333E343E37C\r
-:103E50005FE30E94D3220E943C226093D5018091AF\r
-:103E6000D601181624F40E94781D8093D601809103\r
-:103E7000D60187FF05C00E94781D81958093D601E9\r
-:103E80008091D701181624F40E94781D8093D701E1\r
-:103E90008091D70187FF05C00E94781D819580938E\r
-:103EA000D7010E94A91E1F91089580E0089580E027\r
-:103EB0000895833099F1843030F4813069F0823094\r
-:103EC00009F06FC01AC0853009F44AC08530B8F1D6\r
-:103ED000863009F066C055C020910E01822F90E017\r
-:103EE000860F911D8F3F910520F4260F20930E0120\r
-:103EF00008958FEF80930E01089520910F01822F76\r
-:103F000090E0860F911D8F3F910520F4260F20939E\r
-:103F10000F0108958FEF80930F01089520911001F4\r
-:103F2000822F90E0860F911D8F3F910520F4260F80\r
-:103F30002093100108958FEF809310010895209130\r
-:103F40001101822F90E0860F911D8F3F910520F483\r
-:103F5000260F2093110108958FEF8093110108958A\r
-:103F600020911201822F90E0860F911D8F3F9105C5\r
-:103F700020F4260F2093120108958FEF80931201F1\r
-:103F8000089520911301822F90E0860F911D8F3F9D\r
-:103F9000910520F4260F2093130108958FEF80934D\r
-:103FA00013010895833031F1843030F4813061F0B1\r
-:103FB000823009F04AC013C0853091F1853028F174\r
-:103FC000863009F042C037C080910E01681720F496\r
-:103FD000861B80930E01089510920E010895809122\r
-:103FE0000F01681720F4861B80930F01089510922B\r
-:103FF0000F01089580911001681720F4861B8093AB\r
-:104000001001089510921001089580911101681710\r
-:1040100020F4861B809311010895109211010895D8\r
-:1040200080911201681720F4861B80931201089575\r
-:1040300010921201089580911301681720F4861BD5\r
-:1040400080931301089510921301089521E030E048\r
-:1040500040E050E004C0220F331F441F551F8A95D3\r
-:10406000D2F7CA01B9010E94D41A0E94171108950B\r
-:104070008732F8F48E3108F08AC08E3009F463C0BC\r
-:104080008F3048F4873009F445C08B3009F486C07E\r
-:10409000863039F528C0863109F480C0873118F49C\r
-:1040A0008031F9F45CC0893109F478C08B31C9F4EE\r
-:1040B00040C0883309F472C0893348F4893209F466\r
-:1040C00068C0853309F465C0873259F462C083340F\r
-:1040D00009F45FC0843418F48A3318F056C0883469\r
-:1040E00059F080E008958091CD01807F8093CD01CB\r
-:1040F00081E08093DC0108950E94171180E197E22E\r
-:1041000020E931E0F9013197F1F70197D9F70E94E1\r
-:10411000A91C42C09091CD01892F809581709E7F0E\r
-:10412000982B882311F09E6001C0917F9093CD0160\r
-:1041300033C08091CD01982F969590959170292F3D\r
-:10414000220F8D7F19C08091CD01982F969596955D\r
-:1041500090959170292F220F220F8B7F0DC0809197\r
-:10416000CD01982F96959695969590959170292FBB\r
-:10417000220F220F220F877F822B8093CD0199235C\r
-:1041800069F081608093CD0107C0895303C08D51D0\r
-:1041900001C080E00E94262081E0089581E008951A\r
-:1041A0001F93182F8091DC01813079F0813020F04D\r
-:1041B000823009F0BCC037C0E0910C01F0910D01D4\r
-:1041C0008081823209F0B5C007C0E0910C01F09106\r
-:1041D0000D018081823249F4812F0E94551F88236E\r
-:1041E000F9F4812F0E943820A5C0812F0E94571F0B\r
-:1041F0008823B1F4143161F0153128F41B3081F0BB\r
-:10420000103141F40AC0193219F0183319F408C0FA\r
-:104210001092DC0180E090E08DC082E08093DC01B0\r
-:1042200081E090E087C0193201F11A3270F4143144\r
-:10423000E1F0153120F4173009F064C065C0812F1A\r
-:104240008E51863008F05EC01BC01E3409F455C084\r
-:104250001F3420F41B3409F055C049C0113509F44E\r
-:1042600042C0123509F04EC03AC08091DD0188236A\r
-:1042700019F01092DD0146C081E08093DC015AC044\r
-:104280001232F9F0133260F41F3199F0103218F441\r
-:104290001E3109F510C0103281F01132E1F40FC067\r
-:1042A000143299F0143278F0153289F0163299F4FC\r
-:1042B00010C082E011C081E00FC083E00DC084E037\r
-:1042C0000BC085E009C086E007C087E005C088E034\r
-:1042D00003C089E001C080E08093DD0113C08091BC\r
-:1042E000DD0161E007C08091DD0161E009C08091DE\r
-:1042F000DD016AE00E94591F05C08091DD016AE07E\r
-:104300000E94D21F81E016C08EE180930E0182E3ED\r
-:1043100080930F018AE08093100184E18093110162\r
-:1043200088E08093120188E280931301EBCF109212\r
-:10433000DC0180E01F9108958091EC01869508953D\r
-:104340009091EC01292F26952827220F9170922B0E\r
-:104350009093EC0120E09E7F09F021E08091EC0138\r
-:104360008E7F822B8093EC010E94E51C8091EC01F2\r
-:1043700086950E94230208958091EC01282F2695AE\r
-:104380002F5F2F77922F990F8170892B8093EC01EB\r
-:1043900030E0243031051CF081708093EC0190E016\r
-:1043A0008091EC018E7F09F091E08091EC018E7F8D\r
-:1043B000892B8093EC010E94E51C8091EC0186958D\r
-:1043C0000E94230208958091EC01982F909591709E\r
-:1043D0008E7F892B8093EC010E94E51C8091EC017B\r
-:1043E00080FD02C080E001C086950E9423020895EE\r
-:1043F0008091EC01982F969591F09158990F8170CA\r
-:10440000892B8093EC0190E08E7F09F091E0809100\r
-:10441000EC018E7F892B8093EC010E94E51C80913A\r
-:10442000EC0186950E94230208952091EC012695C7\r
-:10443000822F90E0039744F4822F8F5F880F816072\r
-:104440008093EC010E94E51C8091EC0186950E940E\r
-:10445000230208950E94051D882311F40E94101D57\r
-:104460000E94F11C8093EC0180FD02C080E001C03D\r
-:1044700086950E942302089504D06894B1118DC0DE\r
-:10448000089570D088F09F5790F0B92F9927B751B1\r
-:10449000A0F0D1F0660F771F881F991F1AF0BA9508\r
-:1044A000C9F712C0B13081F077D0B1E0089574C07F\r
-:1044B000672F782F8827B85F39F0B93FCCF38695FE\r
-:1044C00077956795B395D9F73EF49095809570955B\r
-:1044D00061957F4F8F4F9F4F0895E89409C097FBD8\r
-:1044E0003EF490958095709561957F4F8F4F9F4FCB\r
-:1044F0009923A9F0F92F96E9BB279395F69587950F\r
-:1045000077956795B795F111F8CFFAF4BB0F11F4D1\r
-:1045100060FF1BC06F5F7F4F8F4F9F4F16C0882378\r
-:1045200011F096E911C0772321F09EE8872F762FAE\r
-:1045300005C0662371F096E8862F70E060E02AF0EF\r
-:104540009A95660F771F881FDAF7880F96958795DB\r
-:1045500097F9089557FD9058440F551F59F05F3F44\r
-:1045600071F04795880F97FB991F61F09F3F79F095\r
-:1045700087950895121613061406551FF2CF469517\r
-:10458000F1DF08C0161617061806991FF1CF869599\r
-:104590007105610508940895E894BB27662777277D\r
-:1045A000CB0197F908950BD078C069D028F06ED070\r
-:1045B00018F0952309F05AC05FC01124EECFCADF6E\r
-:1045C000A0F3959FD1F3950F50E0551F629FF00126\r
-:1045D000729FBB27F00DB11D639FAA27F00DB11D7F\r
-:1045E000AA1F649F6627B00DA11D661F829F222708\r
-:1045F000B00DA11D621F739FB00DA11D621F839F8F\r
-:10460000A00D611D221F749F3327A00D611D231F64\r
-:10461000849F600D211D822F762F6A2F11249F57B2\r
-:1046200050408AF0E1F088234AF0EE0FFF1FBB1FD5\r
-:10463000661F771F881F91505040A9F79E3F510574\r
-:1046400070F014C0AACF5F3FECF3983EDCF3869580\r
-:1046500077956795B795F795E7959F5FC1F7FE2B1F\r
-:10466000880F911D9695879597F9089597F99F67FB\r
-:1046700080E870E060E008959FEF80EC08950024EA\r
-:104680000A941616170618060906089500240A94B7\r
-:1046900012161306140605060895092E0394000C3D\r
-:1046A00011F4882352F0BB0F40F4BF2B11F460FFCC\r
-:1046B00004C06F5F7F4F8F4F9F4F089597FB092E68\r
-:1046C00007260AD077FD04D00CD006D000201AF4BB\r
-:1046D000709561957F4F0895F6F7909581959F4F5E\r
-:1046E0000895AA1BBB1B51E107C0AA1FBB1FA61739\r
-:1046F000B70710F0A61BB70B881F991F5A95A9F78B\r
-:1047000080959095BC01CD010895F999FECF92BD99\r
-:1047100081BDF89A992780B50895A8E1B0E042E0FC\r
-:1047200050E00C94AD23262FF999FECF92BD81BDA8\r
-:10473000F89A019700B4021639F01FBA20BD0FB6DF\r
-:10474000F894FA9AF99A0FBE08950196272F0E94BD\r
-:1047500094230C949323DC01CB01FC01F999FECF47\r
-:1047600006C0F2BDE1BDF89A319600B40D924150F9\r
-:0A4770005040B8F70895F894FFCF09\r
-:10477A00050175080A09E408AE087808C0011E3266\r
-:10478A000A14082840004500250026006100600040\r
-:10479A002000370064006500660067004400460098\r
-:1047AA002400470040004500250026006100600003\r
-:1047BA002000370064006500660067004400460078\r
-:0447CA002400470080\r
-:00000001FF\r
+++ /dev/null
-Focus of this particular keymap is to enable easy transition from more traditional keyboards to OLKB Planck.
\ No newline at end of file
+++ /dev/null
-#include "keymap_common.h"
-#include "planck.h"
-#include "backlight.h"
-
-#define _QW 0
-#define _LW 1
-#define _RS 2
-
-// This layout tries to imitate the Atreus keyboard
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_QW] = { /* Qwerty */
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MO(_LW)},
- {KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS},
- {M(0), KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_SPC, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT, KC_TRNS}
-},
-[_RS] = { /* RAISE */
- {KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR, KC_TRNS},
- {KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS},
- {KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_EQL, KC_TRNS}
-},
-[_LW] = { /* LOWER */
- {KC_TRNS, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS},
- {KC_TRNS, KC_DELETE, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_F4, KC_F5, KC_F6, KC_F11, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_TRNS}
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- backlight_step();
- } else {
- unregister_code(KC_RSFT);
- }
- break;
- }
- return MACRO_NONE;
-};
-
--- /dev/null
+#include "keymap_common.h"
+#include "planck.h"
+#include "backlight.h"
+
+#define _QW 0
+#define _LW 1
+#define _RS 2
+
+// This layout tries to imitate the Atreus keyboard
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[_QW] = { /* Qwerty */
+ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MO(_LW)},
+ {KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS},
+ {M(0), KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_SPC, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT, KC_TRNS}
+},
+[_RS] = { /* RAISE */
+ {KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR, KC_TRNS},
+ {KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS},
+ {KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_EQL, KC_TRNS}
+},
+[_LW] = { /* LOWER */
+ {KC_TRNS, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS},
+ {KC_TRNS, KC_DELETE, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_F4, KC_F5, KC_F6, KC_F11, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_TRNS}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ backlight_step();
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+++ /dev/null
-#include "keymap_common.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = { /* Qwerty */
- {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT},
- {KC_LCTL, KC_LGUI, KC_LALT, BL_STEP, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- // Space is repeated to accommadate for both spacebar wiring positions
-},
-[1] = { /* WASD + NumPad */
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_PMNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PPLS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_PENT, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_SPC, KC_P0, FUNC(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
-},
-[2] = { /* RAISE */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS},
- {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[3] = { /* LOWER */
- {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_DEL},
- {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
-}
-};
-
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
- [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
-
- [3] = ACTION_DEFAULT_LAYER_SET(0),
- [4] = ACTION_DEFAULT_LAYER_SET(1),
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- return MACRODOWN(T(CM_T), END);
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+#include "keymap_common.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = { /* Qwerty */
+ {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT},
+ {KC_LCTL, KC_LGUI, KC_LALT, BL_STEP, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+ // Space is repeated to accommadate for both spacebar wiring positions
+},
+[1] = { /* WASD + NumPad */
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_PMNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PPLS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_PENT, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_SPC, KC_P0, FUNC(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+},
+[2] = { /* RAISE */
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS},
+ {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
+ {KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[3] = { /* LOWER */
+ {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_DEL},
+ {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
+}
+};
+
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
+ [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
+
+ [3] = ACTION_DEFAULT_LAYER_SET(0),
+ [4] = ACTION_DEFAULT_LAYER_SET(1),
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ return MACRODOWN(T(CM_T), END);
+ break;
+ }
+ return MACRO_NONE;
+};
+++ /dev/null
-#include "keymap_common.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = { /* Qwerty */
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
- {BL_STEP, KC_LGUI, KC_LALT, KC_LCTL, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- // Space is repeated to accommadate for both spacebar wiring positions
-},
-[1] = { /* Colemak */
- {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
- {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
- {KC_FN3, KC_LGUI, KC_LALT, KC_LCTL, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[2] = { /* RAISE */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[3] = { /* LOWER */
- {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC},
- {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-}
-};
-
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
- [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
-
- [3] = ACTION_DEFAULT_LAYER_SET(0),
- [4] = ACTION_DEFAULT_LAYER_SET(1),
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- return MACRODOWN(T(CM_T), END);
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+#include "keymap_common.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = { /* Qwerty */
+ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
+ {BL_STEP, KC_LGUI, KC_LALT, KC_LCTL, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+ // Space is repeated to accommadate for both spacebar wiring positions
+},
+[1] = { /* Colemak */
+ {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
+ {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
+ {KC_FN3, KC_LGUI, KC_LALT, KC_LCTL, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[2] = { /* RAISE */
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
+ {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
+ {KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[3] = { /* LOWER */
+ {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC},
+ {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+}
+};
+
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
+ [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
+
+ [3] = ACTION_DEFAULT_LAYER_SET(0),
+ [4] = ACTION_DEFAULT_LAYER_SET(1),
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ return MACRODOWN(T(CM_T), END);
+ break;
+ }
+ return MACRO_NONE;
+};
+++ /dev/null
-
-#include "planck.h"
-#ifdef BACKLIGHT_ENABLE
-#include "backlight.h"
-#endif
-#include "..\..\quantum\keymap_extras\keymap_german.h"
-
-/* This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout.
- It has Umlauts and "ß" as it is optimized for a mix of German & English.
- My favourite features are the placement of the special characters often used for programming right on the home row
- and the number & navigation block combo, so you never have to move your hands from their home position.
-
- Bone2 wiki page: http://wiki.neo-layout.org/wiki/Bone
-*/
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Bone2
- * ,-----------------------------------------------------------------------------------.
- * | Q | J | D | U | A | X | P | H | L | M | W | ẞ |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | M1 | C | T | I | E | O | B | N | R | S | G | M1 |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| F | V | Ü | Ä | Ö | Y | Z | , | . | K |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | M3 | M2 | Space | M2 | M3 | Esc | Tab |Enter |
- * `-----------------------------------------------------------------------------------'
- */
- [0] = {
- { DE_Q, DE_J, DE_D, DE_U, DE_A, DE_X, DE_P, DE_H, DE_L, DE_M, DE_W, DE_SS },
- { MO(1), DE_C, DE_T, DE_I, DE_E, DE_O, DE_B, DE_N, DE_R, DE_S, DE_G, MO(1) },
- { DE_S, DE_F, DE_V, DE_UE, DE_AE, DE_OE, DE_Y, DE_Z, DE_COMM, DE_DOT, DE_K, DE_S },
- { KC_LCTL, KC_LGUI, KC_LALT, MO(3), MO(2), KC_SPC, KC_SPC, MO(2), MO(3), KC_ESC, KC_TAB, KC_ENT }
- },
-
- /* M1 Special Characters
- * ,-----------------------------------------------------------------------------------.
- * | ° | @ | _ | [ | ] | ^ | ! | < | > | = | & | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | M1 | \ | / | { | } | * | ? | ( | ) | - | : | M1 |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | # | $ | | | ~ | € | + | % | " | ' | ; | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | M3 | M2 | Space | M2 | M3 | Esc | Tab |Enter |
- * `-----------------------------------------------------------------------------------'
- */
- [1] = {
- { DE_RING, DE_AT, DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC, DE_EXLM, DE_LESS, DE_MORE, DE_EQL, DE_AMPR, KC_NO },
- { KC_TRNS, DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR, DE_QST, DE_LPRN, DE_RPRN, DE_MINS, DE_COLN, KC_TRNS },
- { KC_NO , DE_HASH, DE_DLR, DE_PIPE, DE_TILD, DE_EURO, DE_PLUS, DE_PERC, DE_DQOT, DE_QUOT, DE_SCLN, KC_NO },
- { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS }
- },
-
- /* Navigation & Number Blocks
- * ,-----------------------------------------------------------------------------------.
- * | | PgUp | Bksp | Up | DEL | PgDn | | 7 | 8 | 9 | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | Home | Lft | Down | Right| End | . | 4 | 5 | 6 | , | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| | Tab | Ins | Enter| | 0 | 1 | 2 | 3 | ; |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | M3 | M2 | Space | M2 | M3 | Esc | Tab |Enter |
- * `-----------------------------------------------------------------------------------'
- */
- [2] = {
- { KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_NO },
- { KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, DE_DOT, DE_4, DE_5, DE_6, DE_COMM, KC_NO },
- { DE_S, KC_NO, KC_TAB, KC_INS, KC_ENT, KC_NO, KC_0, DE_1, DE_2, DE_3, DE_SCLN, DE_S },
- { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS }
- },
-
- /* Function & Media Keys
- * ,-----------------------------------------------------------------------------------.
- * | | | Print|Scroll|Pause | | | F7 | F8 | F9 | F12 | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | Mute | Vol- | Vol+ | | ³ | F4 | F5 | F6 | F11 | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| | Prev | Play | Next | | ² | F1 | F2 | F3 | F10 |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | M3 | | Space | | M3 | Esc | Tab |Enter |
- * `-----------------------------------------------------------------------------------'
- */
- [3] = {
- { KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F12, KC_NO },
- { KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO },
- { KC_TRNS, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_F10, KC_TRNS},
- { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
- }
-};
-
-const uint16_t PROGMEM fn_actions[] = {
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch (id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
-#ifdef BACKLIGHT_ENABLE
- backlight_step();
-#endif
- }
- else {
- unregister_code(KC_RSFT);
- }
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+
+#include "planck.h"
+#ifdef BACKLIGHT_ENABLE
+#include "backlight.h"
+#endif
+#include "..\..\quantum\keymap_extras\keymap_german.h"
+
+/* This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout.
+ It has Umlauts and "ß" as it is optimized for a mix of German & English.
+ My favourite features are the placement of the special characters often used for programming right on the home row
+ and the number & navigation block combo, so you never have to move your hands from their home position.
+
+ Bone2 wiki page: http://wiki.neo-layout.org/wiki/Bone
+*/
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Bone2
+ * ,-----------------------------------------------------------------------------------.
+ * | Q | J | D | U | A | X | P | H | L | M | W | ẞ |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | M1 | C | T | I | E | O | B | N | R | S | G | M1 |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| F | V | Ü | Ä | Ö | Y | Z | , | . | K |Shift |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | GUI | Alt | M3 | M2 | Space | M2 | M3 | Esc | Tab |Enter |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [0] = {
+ { DE_Q, DE_J, DE_D, DE_U, DE_A, DE_X, DE_P, DE_H, DE_L, DE_M, DE_W, DE_SS },
+ { MO(1), DE_C, DE_T, DE_I, DE_E, DE_O, DE_B, DE_N, DE_R, DE_S, DE_G, MO(1) },
+ { DE_S, DE_F, DE_V, DE_UE, DE_AE, DE_OE, DE_Y, DE_Z, DE_COMM, DE_DOT, DE_K, DE_S },
+ { KC_LCTL, KC_LGUI, KC_LALT, MO(3), MO(2), KC_SPC, KC_SPC, MO(2), MO(3), KC_ESC, KC_TAB, KC_ENT }
+ },
+
+ /* M1 Special Characters
+ * ,-----------------------------------------------------------------------------------.
+ * | ° | @ | _ | [ | ] | ^ | ! | < | > | = | & | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | M1 | \ | / | { | } | * | ? | ( | ) | - | : | M1 |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | # | $ | | | ~ | € | + | % | " | ' | ; | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | GUI | Alt | M3 | M2 | Space | M2 | M3 | Esc | Tab |Enter |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [1] = {
+ { DE_RING, DE_AT, DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC, DE_EXLM, DE_LESS, DE_MORE, DE_EQL, DE_AMPR, KC_NO },
+ { KC_TRNS, DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR, DE_QST, DE_LPRN, DE_RPRN, DE_MINS, DE_COLN, KC_TRNS },
+ { KC_NO , DE_HASH, DE_DLR, DE_PIPE, DE_TILD, DE_EURO, DE_PLUS, DE_PERC, DE_DQOT, DE_QUOT, DE_SCLN, KC_NO },
+ { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS }
+ },
+
+ /* Navigation & Number Blocks
+ * ,-----------------------------------------------------------------------------------.
+ * | | PgUp | Bksp | Up | DEL | PgDn | | 7 | 8 | 9 | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | Home | Lft | Down | Right| End | . | 4 | 5 | 6 | , | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| | Tab | Ins | Enter| | 0 | 1 | 2 | 3 | ; |Shift |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | GUI | Alt | M3 | M2 | Space | M2 | M3 | Esc | Tab |Enter |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [2] = {
+ { KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_NO },
+ { KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, DE_DOT, DE_4, DE_5, DE_6, DE_COMM, KC_NO },
+ { DE_S, KC_NO, KC_TAB, KC_INS, KC_ENT, KC_NO, KC_0, DE_1, DE_2, DE_3, DE_SCLN, DE_S },
+ { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS }
+ },
+
+ /* Function & Media Keys
+ * ,-----------------------------------------------------------------------------------.
+ * | | | Print|Scroll|Pause | | | F7 | F8 | F9 | F12 | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | Mute | Vol- | Vol+ | | ³ | F4 | F5 | F6 | F11 | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| | Prev | Play | Next | | ² | F1 | F2 | F3 | F10 |Shift |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | GUI | Alt | M3 | | Space | | M3 | Esc | Tab |Enter |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [3] = {
+ { KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F12, KC_NO },
+ { KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO },
+ { KC_TRNS, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_F10, KC_TRNS},
+ { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+ }
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch (id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+#ifdef BACKLIGHT_ENABLE
+ backlight_step();
+#endif
+ }
+ else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+++ /dev/null
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-// this is the style you want to emulate.
-
-#include "planck.h"
-#ifdef BACKLIGHT_ENABLE
- #include "backlight.h"
-#endif
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QW 0
-#define _CM 1
-#define _TK 2
-#define _LW 3
-#define _RS 4
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_QW] = { /* Qwerty */
-/* MIT Layout (QWERTY layer)
- *
- * ,-----------------------------------------------------------------------.
- * | esc | q | w | e | r | t | y | u | i | o | p | bspc|
- * |-----------------------------------------------------------------------|
- * | tab | a | s | d | f | g | h | j | k | l | ; | ' |
- * |-----------------------------------------------------------------------|
- * |shift| z | x | c | v | b | n | m | , | . | / |enter|
- * |-----------------------------------------------------------------------|
- * | ctl | alt | win | TK |lower| spc |raise|left |down | up |right|
- * `-----------------------------------------------------------------------'
- */
- {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_LSFT, KC_ENT) },
- {KC_LCTL, KC_LALT, KC_LGUI, TG(_TK), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[_CM] = { /* Colemak */
-/* MIT Layout (Colemak layer)
- *
- * ,-----------------------------------------------------------------------.
- * | esc | q | w | f | p | g | j | l | u | y | ; | bspc|
- * |-----------------------------------------------------------------------|
- * | tab | a | r | s | t | d | h | n | e | i | o | ' |
- * |-----------------------------------------------------------------------|
- * |shift| z | x | c | v | b | k | m | , | . | / |enter|
- * |-----------------------------------------------------------------------|
- * | ctl | alt | win | TK |lower| spc |raise|left |down | up |right|
- * `-----------------------------------------------------------------------'
- */
- {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
- {KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_LSFT, KC_ENT)},
- {KC_LCTL, KC_LALT, KC_LGUI, TG(_TK), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[_RS] = { /* RAISE */
-/* MIT Layout (RAISE layer)
- *
- * ,-----------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | bspc|
- * |-----------------------------------------------------------------------|
- * | tab | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |-----------------------------------------------------------------------|
- * |shift| F7 | F8 | F9 | F10 | F11 | F12 | QW | CM | BL | RST |enter|
- * |-----------------------------------------------------------------------|
- * | ctl | alt | win | del |lower| spc |raise|next |vold |volu |PLAY |
- * `-----------------------------------------------------------------------'
- */
-
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), M(0), RESET, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[_LW] = { /* LOWER */
-/* MIT Layout (Colemak layer)
- *
- * ,-----------------------------------------------------------------------.
- * | esc | q | w | f | p | g | j | l | u | y | ; | bspc|
- * |-----------------------------------------------------------------------|
- * | tab | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |-----------------------------------------------------------------------|
- * |shift| F7 | F8 | F9 | F10 | F11 | F12 | QW | CM | BL | RST |enter|
- * |-----------------------------------------------------------------------|
- * | ctl | alt | win | TK |lower| spc |raise|next |vold |volu |PLAY |
- * `-----------------------------------------------------------------------'
- */
- {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), M(0), RESET, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[_TK] = { /* Ten Key*/
-/* MIT Layout (Ten Key layer)
- *
- * ,-----------------------------------------------------------------------.
- * | esc | F9 | F10 | F11 | F12 | PGUP| % | / | 7 | 8 | 9 | bspc|
- * |-----------------------------------------------------------------------|
- * | tab | F5 | F6 | F7 | F8 | PGDN| HOME| * | 4 | 5 | 6 | \ |
- * |-----------------------------------------------------------------------|
- * |shift| F1 | F2 | F3 | F4 | DEL | END | 0 | 1 | 2 | 3 |enter|
- * |-----------------------------------------------------------------------|
- * | ctl | alt | win | TK |lower| spc |raise|left |down | up |right|
- * `-----------------------------------------------------------------------'
- */
- {KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_PGUP, KC_PERC, KC_SLSH, KC_7, KC_8, KC_9, KC_BSPC},
- {KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8, KC_PGDN, KC_HOME, KC_ASTR, KC_4, KC_5, KC_6, KC_PIPE},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_DEL, KC_END, KC_0, KC_1, KC_2, KC_3, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-}
-
-};
-
-const uint16_t PROGMEM fn_actions[] = {
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- } else {
- unregister_code(KC_RSFT);
- }
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+
+#include "planck.h"
+#ifdef BACKLIGHT_ENABLE
+ #include "backlight.h"
+#endif
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _QW 0
+#define _CM 1
+#define _TK 2
+#define _LW 3
+#define _RS 4
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[_QW] = { /* Qwerty */
+/* MIT Layout (QWERTY layer)
+ *
+ * ,-----------------------------------------------------------------------.
+ * | esc | q | w | e | r | t | y | u | i | o | p | bspc|
+ * |-----------------------------------------------------------------------|
+ * | tab | a | s | d | f | g | h | j | k | l | ; | ' |
+ * |-----------------------------------------------------------------------|
+ * |shift| z | x | c | v | b | n | m | , | . | / |enter|
+ * |-----------------------------------------------------------------------|
+ * | ctl | alt | win | TK |lower| spc |raise|left |down | up |right|
+ * `-----------------------------------------------------------------------'
+ */
+ {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_LSFT, KC_ENT) },
+ {KC_LCTL, KC_LALT, KC_LGUI, TG(_TK), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[_CM] = { /* Colemak */
+/* MIT Layout (Colemak layer)
+ *
+ * ,-----------------------------------------------------------------------.
+ * | esc | q | w | f | p | g | j | l | u | y | ; | bspc|
+ * |-----------------------------------------------------------------------|
+ * | tab | a | r | s | t | d | h | n | e | i | o | ' |
+ * |-----------------------------------------------------------------------|
+ * |shift| z | x | c | v | b | k | m | , | . | / |enter|
+ * |-----------------------------------------------------------------------|
+ * | ctl | alt | win | TK |lower| spc |raise|left |down | up |right|
+ * `-----------------------------------------------------------------------'
+ */
+ {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
+ {KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_LSFT, KC_ENT)},
+ {KC_LCTL, KC_LALT, KC_LGUI, TG(_TK), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[_RS] = { /* RAISE */
+/* MIT Layout (RAISE layer)
+ *
+ * ,-----------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | bspc|
+ * |-----------------------------------------------------------------------|
+ * | tab | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |-----------------------------------------------------------------------|
+ * |shift| F7 | F8 | F9 | F10 | F11 | F12 | QW | CM | BL | RST |enter|
+ * |-----------------------------------------------------------------------|
+ * | ctl | alt | win | del |lower| spc |raise|next |vold |volu |PLAY |
+ * `-----------------------------------------------------------------------'
+ */
+
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
+ {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), M(0), RESET, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[_LW] = { /* LOWER */
+/* MIT Layout (Colemak layer)
+ *
+ * ,-----------------------------------------------------------------------.
+ * | esc | q | w | f | p | g | j | l | u | y | ; | bspc|
+ * |-----------------------------------------------------------------------|
+ * | tab | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |-----------------------------------------------------------------------|
+ * |shift| F7 | F8 | F9 | F10 | F11 | F12 | QW | CM | BL | RST |enter|
+ * |-----------------------------------------------------------------------|
+ * | ctl | alt | win | TK |lower| spc |raise|next |vold |volu |PLAY |
+ * `-----------------------------------------------------------------------'
+ */
+ {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+ {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), M(0), RESET, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[_TK] = { /* Ten Key*/
+/* MIT Layout (Ten Key layer)
+ *
+ * ,-----------------------------------------------------------------------.
+ * | esc | F9 | F10 | F11 | F12 | PGUP| % | / | 7 | 8 | 9 | bspc|
+ * |-----------------------------------------------------------------------|
+ * | tab | F5 | F6 | F7 | F8 | PGDN| HOME| * | 4 | 5 | 6 | \ |
+ * |-----------------------------------------------------------------------|
+ * |shift| F1 | F2 | F3 | F4 | DEL | END | 0 | 1 | 2 | 3 |enter|
+ * |-----------------------------------------------------------------------|
+ * | ctl | alt | win | TK |lower| spc |raise|left |down | up |right|
+ * `-----------------------------------------------------------------------'
+ */
+ {KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_PGUP, KC_PERC, KC_SLSH, KC_7, KC_8, KC_9, KC_BSPC},
+ {KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8, KC_PGDN, KC_HOME, KC_ASTR, KC_4, KC_5, KC_6, KC_PIPE},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_DEL, KC_END, KC_0, KC_1, KC_2, KC_3, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+}
+
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ #ifdef BACKLIGHT_ENABLE
+ backlight_step();
+ #endif
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+++ /dev/null
-#include "keymap_common.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = { /* Native */
- {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, FUNC(2)},
- {KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_TAB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
- {KC_DEL, KC_LCTL, KC_NO, KC_LSFT, KC_LALT, KC_SPC, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
- [1] = { /* QWERTY->PHOTOSHOP */
- {KC_DELETE, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, FUNC(1)},
- {KC_O, KC_G, KC_S, KC_U, KC_T, FUNC(27), KC_F21, KC_F10, KC_F11, KC_F7, KC_F8, KC_F9},
- {KC_TAB, FUNC(4), FUNC(5), FUNC(6), KC_F1, FUNC(7), KC_F18, KC_F19, KC_F23, KC_F20, KC_F22, FUNC(9)},
- {KC_COMM, KC_DOT, KC_R, FUNC(11), FUNC(3), KC_SPC, FUNC(12), KC_F2, FUNC(8), KC_F3, KC_F14}
- },
- [2] = { /* 2: FUNC(3 PHOTOSHOP */
- {KC_ESC, FUNC(25), FUNC(26), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO},
- {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, FUNC(19), FUNC(20), FUNC(21)},
- {KC_C, KC_NO, FUNC(22), FUNC(5), KC_NO, FUNC(23), KC_NO, KC_NO, KC_NO, KC_NO, FUNC(13), KC_NO},
- {FUNC(14), FUNC(15), FUNC(16), FUNC(17), FUNC(3), KC_SPC, FUNC(18), KC_NO, KC_NO, KC_F24, KC_NO}
- }
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_DEFAULT_LAYER_SET(0), // set Qwerty layout
- [2] = ACTION_DEFAULT_LAYER_SET(1), // set Photoshop presets
- [3] = ACTION_LAYER_MOMENTARY(2), // Photoshop function layer
-
- [4] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL | MOD_LALT, KC_F9), // photo folder AHK
- [5] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL, KC_I), // select inverse
- [6] = ACTION_MODS_KEY(MOD_LSFT, KC_M), // marquee select
- [7] = ACTION_MODS_KEY(MOD_LALT, KC_BSPC), // fill
- [8] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL | MOD_LALT, KC_X), // warp
- [9] = ACTION_MODS_KEY(MOD_LCTL | MOD_LALT | MOD_LSFT, KC_F12), // merge all new layer
- [10] = ACTION_MODS_KEY(MOD_LCTL, KC_MINS), // zoom out
- [11] = ACTION_MODS_KEY(MOD_LCTL, KC_H), // RBG sliders
- [12] = ACTION_MODS_KEY(MOD_LCTL, KC_S), // save
- [13] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL, KC_F5), // layer mask from transparancy
- [14] = ACTION_MODS_KEY(MOD_LCTL, KC_F2), // stroke
- [15] = ACTION_MODS_KEY(MOD_LCTL | MOD_LSFT, KC_F2), // stroke layer
- [16] = ACTION_MODS_KEY(MOD_LCTL, KC_0), // zoom 0
- [17] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL, KC_H), // HSV sliders
- [18] = ACTION_MODS_KEY(MOD_LCTL | MOD_LSFT, KC_S), // save as
- [19] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL | MOD_LALT, KC_F7), // gaussian blur
- [20] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL | MOD_LALT, KC_F8), // motion blur
- [21] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL, KC_X), // liquify filter
- [22] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS), // prev layer blending
- [23] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL, KC_BSPC), // KC_NOrmal layer blending
- [24] = ACTION_MODS_KEY(MOD_LSFT, KC_EQL), // next layer blending
- [25] = ACTION_MODS_KEY(MOD_LCTL, KC_Z), // step back
- [26] = ACTION_MODS_KEY(MOD_LCTL, KC_Y), // step forward
- [27] = ACTION_MODS_KEY(MOD_LCTL, KC_R), // rasterize
-
-};
--- /dev/null
+#include "keymap_common.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = { /* Native */
+ {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, FUNC(2)},
+ {KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_TAB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
+ {KC_DEL, KC_LCTL, KC_NO, KC_LSFT, KC_LALT, KC_SPC, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+ [1] = { /* QWERTY->PHOTOSHOP */
+ {KC_DELETE, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, FUNC(1)},
+ {KC_O, KC_G, KC_S, KC_U, KC_T, FUNC(27), KC_F21, KC_F10, KC_F11, KC_F7, KC_F8, KC_F9},
+ {KC_TAB, FUNC(4), FUNC(5), FUNC(6), KC_F1, FUNC(7), KC_F18, KC_F19, KC_F23, KC_F20, KC_F22, FUNC(9)},
+ {KC_COMM, KC_DOT, KC_R, FUNC(11), FUNC(3), KC_SPC, FUNC(12), KC_F2, FUNC(8), KC_F3, KC_F14}
+ },
+ [2] = { /* 2: FUNC(3 PHOTOSHOP */
+ {KC_ESC, FUNC(25), FUNC(26), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO},
+ {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, FUNC(19), FUNC(20), FUNC(21)},
+ {KC_C, KC_NO, FUNC(22), FUNC(5), KC_NO, FUNC(23), KC_NO, KC_NO, KC_NO, KC_NO, FUNC(13), KC_NO},
+ {FUNC(14), FUNC(15), FUNC(16), FUNC(17), FUNC(3), KC_SPC, FUNC(18), KC_NO, KC_NO, KC_F24, KC_NO}
+ }
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_DEFAULT_LAYER_SET(0), // set Qwerty layout
+ [2] = ACTION_DEFAULT_LAYER_SET(1), // set Photoshop presets
+ [3] = ACTION_LAYER_MOMENTARY(2), // Photoshop function layer
+
+ [4] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL | MOD_LALT, KC_F9), // photo folder AHK
+ [5] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL, KC_I), // select inverse
+ [6] = ACTION_MODS_KEY(MOD_LSFT, KC_M), // marquee select
+ [7] = ACTION_MODS_KEY(MOD_LALT, KC_BSPC), // fill
+ [8] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL | MOD_LALT, KC_X), // warp
+ [9] = ACTION_MODS_KEY(MOD_LCTL | MOD_LALT | MOD_LSFT, KC_F12), // merge all new layer
+ [10] = ACTION_MODS_KEY(MOD_LCTL, KC_MINS), // zoom out
+ [11] = ACTION_MODS_KEY(MOD_LCTL, KC_H), // RBG sliders
+ [12] = ACTION_MODS_KEY(MOD_LCTL, KC_S), // save
+ [13] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL, KC_F5), // layer mask from transparancy
+ [14] = ACTION_MODS_KEY(MOD_LCTL, KC_F2), // stroke
+ [15] = ACTION_MODS_KEY(MOD_LCTL | MOD_LSFT, KC_F2), // stroke layer
+ [16] = ACTION_MODS_KEY(MOD_LCTL, KC_0), // zoom 0
+ [17] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL, KC_H), // HSV sliders
+ [18] = ACTION_MODS_KEY(MOD_LCTL | MOD_LSFT, KC_S), // save as
+ [19] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL | MOD_LALT, KC_F7), // gaussian blur
+ [20] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL | MOD_LALT, KC_F8), // motion blur
+ [21] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL, KC_X), // liquify filter
+ [22] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS), // prev layer blending
+ [23] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL, KC_BSPC), // KC_NOrmal layer blending
+ [24] = ACTION_MODS_KEY(MOD_LSFT, KC_EQL), // next layer blending
+ [25] = ACTION_MODS_KEY(MOD_LCTL, KC_Z), // step back
+ [26] = ACTION_MODS_KEY(MOD_LCTL, KC_Y), // step forward
+ [27] = ACTION_MODS_KEY(MOD_LCTL, KC_R), // rasterize
+
+};
+++ /dev/null
-#include "keymap_common.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = { /* Qwerty */
- {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
- {FUNC(3), KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- // Space is repeated to accommadate for both spacebar wiring positions
-},
-[1] = { /* RAISE */
- {KC_GRV, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_EQL},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, S(KC_MINS), KC_BSLS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[2] = { /* LOWER */
- {S(KC_GRV), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, S(KC_EQL)},
- {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
- {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_ENT},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[3] = { /* Qwerty */
- {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL},
- {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
- {KC_TRNS, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- // Space is repeated to accommadate for both spacebar wiring positions
-}
-};
-
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_MOMENTARY(1), // to RAISE
- [2] = ACTION_LAYER_MOMENTARY(2), // to LOWER
- [3] = ACTION_LAYER_MOMENTARY(3) // to LOWER
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- return MACRODOWN(T(CM_T), END);
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+#include "keymap_common.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = { /* Qwerty */
+ {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
+ {FUNC(3), KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+ // Space is repeated to accommadate for both spacebar wiring positions
+},
+[1] = { /* RAISE */
+ {KC_GRV, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_EQL},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, S(KC_MINS), KC_BSLS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[2] = { /* LOWER */
+ {S(KC_GRV), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, S(KC_EQL)},
+ {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
+ {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_ENT},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[3] = { /* Qwerty */
+ {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL},
+ {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
+ {KC_TRNS, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+ // Space is repeated to accommadate for both spacebar wiring positions
+}
+};
+
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_MOMENTARY(1), // to RAISE
+ [2] = ACTION_LAYER_MOMENTARY(2), // to LOWER
+ [3] = ACTION_LAYER_MOMENTARY(3) // to LOWER
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ return MACRODOWN(T(CM_T), END);
+ break;
+ }
+ return MACRO_NONE;
+};
+++ /dev/null
-#include "keymap_common.h"
-#include "beeps.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = { /* Qwerty */
- {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_A, KC_S, KC_D, KC_F, KC_G, KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
- {M(10), KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- // Space is repeated to accommadate for both spacebar wiring positions
-},
-[1] = { /* Colemak */
- {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
- {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
- {KC_FN3, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[2] = { /* RAISE */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, FUNC(3), FUNC(4), RESET, M(0), M(1), M(2), KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, KC_F11, KC_F12, M(0), M(1), M(2), M(3), M(4), M(5), M(6), M(7), KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[3] = { /* LOWER */
- {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC},
- {KC_TRNS, FUNC(3), FUNC(4), RESET, M(0), M(1), M(2), S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
- [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
-
- [3] = ACTION_DEFAULT_LAYER_SET(0),
- [4] = ACTION_DEFAULT_LAYER_SET(1),
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- if (record->event.pressed) {
- switch(id) {
- case 0:
- true_note(12, 12, 20);
- break;
- case 1:
- true_note(14, 14, 20);
- break;
- case 2:
- true_note(16, 16, 20);
- break;
- case 3:
- true_note(17, 17, 20);
- break;
- case 4:
- true_note(19, 19, 20);
- break;
- case 5:
- true_note(21, 21, 20);
- break;
- case 6:
- true_note(23, 23, 20);
- break;
- case 7:
- true_note(24, 24, 20);
- break;
- case 10:
-
- break;
- }
- }
- return MACRO_NONE;
-};
--- /dev/null
+#include "keymap_common.h"
+#include "beeps.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = { /* Qwerty */
+ {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_A, KC_S, KC_D, KC_F, KC_G, KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
+ {M(10), KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+ // Space is repeated to accommadate for both spacebar wiring positions
+},
+[1] = { /* Colemak */
+ {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
+ {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
+ {KC_FN3, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[2] = { /* RAISE */
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
+ {KC_TRNS, FUNC(3), FUNC(4), RESET, M(0), M(1), M(2), KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
+ {KC_TRNS, KC_F11, KC_F12, M(0), M(1), M(2), M(3), M(4), M(5), M(6), M(7), KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[3] = { /* LOWER */
+ {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC},
+ {KC_TRNS, FUNC(3), FUNC(4), RESET, M(0), M(1), M(2), S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
+ [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
+
+ [3] = ACTION_DEFAULT_LAYER_SET(0),
+ [4] = ACTION_DEFAULT_LAYER_SET(1),
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ if (record->event.pressed) {
+ switch(id) {
+ case 0:
+ true_note(12, 12, 20);
+ break;
+ case 1:
+ true_note(14, 14, 20);
+ break;
+ case 2:
+ true_note(16, 16, 20);
+ break;
+ case 3:
+ true_note(17, 17, 20);
+ break;
+ case 4:
+ true_note(19, 19, 20);
+ break;
+ case 5:
+ true_note(21, 21, 20);
+ break;
+ case 6:
+ true_note(23, 23, 20);
+ break;
+ case 7:
+ true_note(24, 24, 20);
+ break;
+ case 10:
+
+ break;
+ }
+ }
+ return MACRO_NONE;
+};
+++ /dev/null
-#include "keymap_common.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = { /* Qwerty */
- {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TAB},
- {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_BSPC},
- {KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
- {KC_FN4, KC_RSFT, KC_LGUI, KC_LSFT, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- // Space is repeated to accommadate for both spacebar wiring positions
-},
-[1] = { /* Colemak */
- {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TAB},
- {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_BSPC},
- {KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
- {KC_FN3, KC_RSFT, KC_LGUI, KC_LSFT, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[2] = { /* RAISE */
- {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
- {KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_DEL},
- {KC_TRNS, KC_GRV, KC_MINS, KC_EQL, KC_QUOT, S(KC_QUOT), S(KC_LBRC), S(KC_RBRC), KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_HOME, KC_PGUP, KC_PGDN, KC_END}
-},
-[3] = { /* LOWER */
- {KC_POWER,KC_PSCR, KC_SLCK, KC_PAUSE, KC_NLCK, KC_EXECUTE, KC_MENU, KC_APP, KC_7, KC_8, KC_9, KC_KP_SLASH},
- {KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_CAPS, KC_CANCEL, KC_UNDO, KC_AGAIN, KC_4, KC_5, KC_6, KC_KP_ASTERISK},
- {KC_TRNS, KC_INSERT,KC_CUT, KC_COPY, KC_PASTE, KC_BSLS, KC_9, KC_0, KC_1, KC_2, KC_3, KC_KP_MINUS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS}
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
- [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
-
- [3] = ACTION_DEFAULT_LAYER_SET(0),
- [4] = ACTION_DEFAULT_LAYER_SET(1),
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- return MACRODOWN(T(CM_T), END);
- break;
- }
- return MACRO_NONE;
-};
\ No newline at end of file
--- /dev/null
+#include "keymap_common.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = { /* Qwerty */
+ {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TAB},
+ {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_BSPC},
+ {KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
+ {KC_FN4, KC_RSFT, KC_LGUI, KC_LSFT, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+ // Space is repeated to accommadate for both spacebar wiring positions
+},
+[1] = { /* Colemak */
+ {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TAB},
+ {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_BSPC},
+ {KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
+ {KC_FN3, KC_RSFT, KC_LGUI, KC_LSFT, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[2] = { /* RAISE */
+ {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
+ {KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_DEL},
+ {KC_TRNS, KC_GRV, KC_MINS, KC_EQL, KC_QUOT, S(KC_QUOT), S(KC_LBRC), S(KC_RBRC), KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_HOME, KC_PGUP, KC_PGDN, KC_END}
+},
+[3] = { /* LOWER */
+ {KC_POWER,KC_PSCR, KC_SLCK, KC_PAUSE, KC_NLCK, KC_EXECUTE, KC_MENU, KC_APP, KC_7, KC_8, KC_9, KC_KP_SLASH},
+ {KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_CAPS, KC_CANCEL, KC_UNDO, KC_AGAIN, KC_4, KC_5, KC_6, KC_KP_ASTERISK},
+ {KC_TRNS, KC_INSERT,KC_CUT, KC_COPY, KC_PASTE, KC_BSLS, KC_9, KC_0, KC_1, KC_2, KC_3, KC_KP_MINUS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
+ [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
+
+ [3] = ACTION_DEFAULT_LAYER_SET(0),
+ [4] = ACTION_DEFAULT_LAYER_SET(1),
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ return MACRODOWN(T(CM_T), END);
+ break;
+ }
+ return MACRO_NONE;
+};
\ No newline at end of file
+++ /dev/null
-#include "planck.h"
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QW 0
-#define _LW 1
-#define _RS 2
-#define _FN 3
-
-// This a slightly modified 'default' keymap that's closer to the Mac keyboard layout. I like the position
-// of 'esc' and 'tab' better this way. I also got rid of the backlighting control key and the dvorak and
-// colemak layers. I added an 'fn' layer that makes the 'bspc' a forward delete (like on OSX).
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* MIT Layout (QWERTY layer)
- *
- * ,-----------------------------------------------------------------------.
- * | esc | q | w | e | r | t | y | u | i | o | p | bspc|
- * |-----------------------------------------------------------------------|
- * | tab | a | s | d | f | g | h | j | k | l | ; | ' |
- * |-----------------------------------------------------------------------|
- * |shift| z | x | c | v | b | n | m | , | . | / |enter|
- * |-----------------------------------------------------------------------|
- * | fn | ctl | alt | cmd |lower| spc |raise|left |down | up |right|
- * `-----------------------------------------------------------------------'
- */
-[_QW] = { /* QWERTY */
- {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {MO(_FN), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-/* MIT Layout (Raised layer)
- *
- * ,-----------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
- * |-----------------------------------------------------------------------|
- * | | F1 | F2 | F3 | F4 | F5 | F6 | - | + | [ | ] | | |
- * |-----------------------------------------------------------------------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
- * |-----------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------'
- */
-[_RS] = { /* RAISE */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_PLUS, KC_LBRC, KC_RBRC, KC_PIPE},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
-},
-/* MIT Layout (Lowered layer)
- *
- * ,-----------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
- * |-----------------------------------------------------------------------|
- * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | = | { | } | \ |
- * |-----------------------------------------------------------------------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
- * |-----------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------'
- */
-[_LW] = { /* LOWER */
- {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_EQL, KC_LCBR, KC_RCBR, KC_BSLS},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
-},
-/* MIT Layout (FN layer)
- *
- * ,-----------------------------------------------------------------------.
- * | | | | | | | | | | | | del |
- * |-----------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |-----------------------------------------------------------------------|
- * | | | | | | | | | | | | |
- * |-----------------------------------------------------------------------|
- * | | | | | | | |home |pgdn |pgup | end |
- * `-----------------------------------------------------------------------'
- */
-[_FN] = { /* FUNCTION */
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DELT},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- backlight_step();
- } else {
- unregister_code(KC_RSFT);
- }
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+#include "planck.h"
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _QW 0
+#define _LW 1
+#define _RS 2
+#define _FN 3
+
+// This a slightly modified 'default' keymap that's closer to the Mac keyboard layout. I like the position
+// of 'esc' and 'tab' better this way. I also got rid of the backlighting control key and the dvorak and
+// colemak layers. I added an 'fn' layer that makes the 'bspc' a forward delete (like on OSX).
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* MIT Layout (QWERTY layer)
+ *
+ * ,-----------------------------------------------------------------------.
+ * | esc | q | w | e | r | t | y | u | i | o | p | bspc|
+ * |-----------------------------------------------------------------------|
+ * | tab | a | s | d | f | g | h | j | k | l | ; | ' |
+ * |-----------------------------------------------------------------------|
+ * |shift| z | x | c | v | b | n | m | , | . | / |enter|
+ * |-----------------------------------------------------------------------|
+ * | fn | ctl | alt | cmd |lower| spc |raise|left |down | up |right|
+ * `-----------------------------------------------------------------------'
+ */
+[_QW] = { /* QWERTY */
+ {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
+ {MO(_FN), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+/* MIT Layout (Raised layer)
+ *
+ * ,-----------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
+ * |-----------------------------------------------------------------------|
+ * | | F1 | F2 | F3 | F4 | F5 | F6 | - | + | [ | ] | | |
+ * |-----------------------------------------------------------------------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
+ * |-----------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------'
+ */
+[_RS] = { /* RAISE */
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_PLUS, KC_LBRC, KC_RBRC, KC_PIPE},
+ {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+},
+/* MIT Layout (Lowered layer)
+ *
+ * ,-----------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
+ * |-----------------------------------------------------------------------|
+ * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | = | { | } | \ |
+ * |-----------------------------------------------------------------------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
+ * |-----------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------'
+ */
+[_LW] = { /* LOWER */
+ {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_EQL, KC_LCBR, KC_RCBR, KC_BSLS},
+ {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+},
+/* MIT Layout (FN layer)
+ *
+ * ,-----------------------------------------------------------------------.
+ * | | | | | | | | | | | | del |
+ * |-----------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * |-----------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * |-----------------------------------------------------------------------|
+ * | | | | | | | |home |pgdn |pgup | end |
+ * `-----------------------------------------------------------------------'
+ */
+[_FN] = { /* FUNCTION */
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DELT},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ backlight_step();
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
--- /dev/null
+#include "planck.h"
+#include "action_layer.h"
+#ifdef BACKLIGHT_ENABLE
+ #include "backlight.h"
+#endif
+
+//Simple Keymap where CTRL, WINKEY, and ALT keys are placed in a more familiar location for Windows users.
+//Focus of this particular keymap is to enable easy transition from more traditional keyboards to OLKB Planck.
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+#define _QW 0
+#define _LW 1
+#define _RS 2
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QW] = { /* Qwerty */
+ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RSFT, KC_ENT)},
+ {KC_LCTL, KC_LGUI, KC_LALT, M(0), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+ },
+ [_RS] = { /* RAISE */
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL },
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
+ {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+ },
+ [_LW] = { /* LOWER */
+ {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL },
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+ }
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ #ifdef BACKLIGHT_ENABLE
+ backlight_step();
+ #endif
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
--- /dev/null
+Focus of this particular keymap is to enable easy transition from more traditional keyboards to OLKB Planck.
\ No newline at end of file
+++ /dev/null
-#include "keymap_common.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = { /* Joe colemak */
- {F(3), KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS},
- {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT },
- {F(15), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_QUOT},
- {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, F(1), KC_SPC, KC_SPC, F(2), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT}
- },
- [1] = { /* Joe soft Colemak */
- {F(3), CM_Q, CM_W, CM_F, CM_P, CM_G, CM_J, CM_L, CM_U, CM_Y, CM_SCLN, KC_MINS},
- {KC_BSPC, CM_A, CM_R, CM_S, CM_T, CM_D, CM_H, CM_N, CM_E, CM_I, CM_O, KC_ENT },
- {F(15), CM_Z, CM_X, CM_C, CM_V, CM_B, CM_K, CM_M, KC_COMM, KC_DOT, KC_UP, KC_QUOT},
- {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, F(1), KC_SPC, KC_SPC, F(2), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT}
- },
- [2] = { /* Joe NUMPAD */
- {F(3), KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, LSFT(KC_9), LSFT(KC_0), KC_PSLS, KC_P7, KC_P8, KC_P9 },
- {KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, LSFT(KC_5), KC_PEQL, KC_PAST, KC_P4, KC_P5, KC_P6 },
- {F(15), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PCMM, KC_PMNS, KC_P1, KC_P2, KC_P3 },
- {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, F(1), KC_TRNS, KC_TRNS, F(2), KC_PPLS, KC_P0, KC_PDOT, KC_PENT}
- },
- [3] = { /* Joe 1337 haxOr5*/
- {F(3), KC_Q, KC_W, KC_F, KC_P, KC_6, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS},
- {KC_BSPC, KC_4, KC_R, KC_5, KC_7, KC_D, KC_H, KC_N, KC_3, KC_1, KC_0, KC_ENT },
- {F(15), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_QUOT},
- {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, F(1), KC_SPC, KC_SPC, F(2), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT}
- },
- [4] = { /* Joe LOWER fn1 */
- {KC_GRV, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, M(3), M(2), M(1), M(0) },
- {KC_BSPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS},
- {KC_BSLS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_PGUP, KC_EQL },
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(1), KC_TRNS, KC_TRNS, F(2), KC_NO, KC_HOME, KC_PGDN, KC_END }
- },
- [5] = { /* Joe UPPER fn2 */
- {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 },
- {KC_DEL, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, KC_WH_U, KC_BTN4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO },
- {KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_L, KC_WH_D, KC_WH_R, KC_NO, KC_NO, LCTL(KC_PGUP), LCTL(LALT(KC_UP)), LCTL(KC_PGDN) },
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(1), KC_NO, KC_NO, F(2), KC_NO, LCTL(LALT(KC_LEFT)), LCTL(LALT(KC_DOWN)), LCTL(LALT(KC_RGHT))}
- },
- [6] = { /* Joe SPECIAL fn3 */
- {KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO },
- {KC_NO, KC_MPLY, KC_MPRV, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET },
- {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO },
- {F(6), F(7), F(8), F(9), F(1), KC_TRNS, KC_TRNS, F(2), KC_POWER, KC_WAKE, KC_SLEP, LCTL(LALT(KC_L))}
- }
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_MOMENTARY(4), // fn1
- [2] = ACTION_LAYER_MOMENTARY(5), // fn2
-
- /* ESC on tap, fn3 on hold */
- [3] = ACTION_LAYER_TAP_KEY(6, KC_ESC),
-
- /* toggle layers */
- [6] = ACTION_DEFAULT_LAYER_SET(0),
- [7] = ACTION_DEFAULT_LAYER_SET(1),
- [8] = ACTION_DEFAULT_LAYER_SET(2),
- [9] = ACTION_DEFAULT_LAYER_SET(3),
-
- /* tab on tap, shift on hold */
- [15] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_TAB),
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- switch (id) {
- case 0:
- /* :) */
- return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_SCLN), TYPE(KC_0), UP(KC_LSFT), END );
- break;
- case 1:
- /* :( */
- return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_SCLN), TYPE(KC_9), UP(KC_LSFT), END );
- break;
- case 2:
- /* (: | :) */
- return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_9), TYPE(KC_SCLN), TYPE(KC_SPC), TYPE(KC_SPC), TYPE(KC_SCLN), TYPE(KC_0), UP(KC_LSFT), TYPE(KC_LEFT), TYPE(KC_LEFT), TYPE(KC_LEFT), END );
- break;
- case 3:
- /* :( | ): */
- return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_SCLN), TYPE(KC_9), TYPE(KC_SPC), TYPE(KC_SPC), TYPE(KC_0), TYPE(KC_SCLN), UP(KC_LSFT), TYPE(KC_LEFT), TYPE(KC_LEFT), TYPE(KC_LEFT), END );
- break;
- default:
- break;
- }
- return MACRO_NONE;
-}
--- /dev/null
+#include "keymap_common.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = { /* Joe colemak */
+ {F(3), KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS},
+ {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT },
+ {F(15), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_QUOT},
+ {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, F(1), KC_SPC, KC_SPC, F(2), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT}
+ },
+ [1] = { /* Joe soft Colemak */
+ {F(3), CM_Q, CM_W, CM_F, CM_P, CM_G, CM_J, CM_L, CM_U, CM_Y, CM_SCLN, KC_MINS},
+ {KC_BSPC, CM_A, CM_R, CM_S, CM_T, CM_D, CM_H, CM_N, CM_E, CM_I, CM_O, KC_ENT },
+ {F(15), CM_Z, CM_X, CM_C, CM_V, CM_B, CM_K, CM_M, KC_COMM, KC_DOT, KC_UP, KC_QUOT},
+ {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, F(1), KC_SPC, KC_SPC, F(2), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT}
+ },
+ [2] = { /* Joe NUMPAD */
+ {F(3), KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, LSFT(KC_9), LSFT(KC_0), KC_PSLS, KC_P7, KC_P8, KC_P9 },
+ {KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, LSFT(KC_5), KC_PEQL, KC_PAST, KC_P4, KC_P5, KC_P6 },
+ {F(15), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PCMM, KC_PMNS, KC_P1, KC_P2, KC_P3 },
+ {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, F(1), KC_TRNS, KC_TRNS, F(2), KC_PPLS, KC_P0, KC_PDOT, KC_PENT}
+ },
+ [3] = { /* Joe 1337 haxOr5*/
+ {F(3), KC_Q, KC_W, KC_F, KC_P, KC_6, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS},
+ {KC_BSPC, KC_4, KC_R, KC_5, KC_7, KC_D, KC_H, KC_N, KC_3, KC_1, KC_0, KC_ENT },
+ {F(15), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_QUOT},
+ {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, F(1), KC_SPC, KC_SPC, F(2), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT}
+ },
+ [4] = { /* Joe LOWER fn1 */
+ {KC_GRV, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, M(3), M(2), M(1), M(0) },
+ {KC_BSPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS},
+ {KC_BSLS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_PGUP, KC_EQL },
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(1), KC_TRNS, KC_TRNS, F(2), KC_NO, KC_HOME, KC_PGDN, KC_END }
+ },
+ [5] = { /* Joe UPPER fn2 */
+ {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 },
+ {KC_DEL, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, KC_WH_U, KC_BTN4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO },
+ {KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_L, KC_WH_D, KC_WH_R, KC_NO, KC_NO, LCTL(KC_PGUP), LCTL(LALT(KC_UP)), LCTL(KC_PGDN) },
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(1), KC_NO, KC_NO, F(2), KC_NO, LCTL(LALT(KC_LEFT)), LCTL(LALT(KC_DOWN)), LCTL(LALT(KC_RGHT))}
+ },
+ [6] = { /* Joe SPECIAL fn3 */
+ {KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO },
+ {KC_NO, KC_MPLY, KC_MPRV, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET },
+ {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO },
+ {F(6), F(7), F(8), F(9), F(1), KC_TRNS, KC_TRNS, F(2), KC_POWER, KC_WAKE, KC_SLEP, LCTL(LALT(KC_L))}
+ }
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_MOMENTARY(4), // fn1
+ [2] = ACTION_LAYER_MOMENTARY(5), // fn2
+
+ /* ESC on tap, fn3 on hold */
+ [3] = ACTION_LAYER_TAP_KEY(6, KC_ESC),
+
+ /* toggle layers */
+ [6] = ACTION_DEFAULT_LAYER_SET(0),
+ [7] = ACTION_DEFAULT_LAYER_SET(1),
+ [8] = ACTION_DEFAULT_LAYER_SET(2),
+ [9] = ACTION_DEFAULT_LAYER_SET(3),
+
+ /* tab on tap, shift on hold */
+ [15] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_TAB),
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ switch (id) {
+ case 0:
+ /* :) */
+ return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_SCLN), TYPE(KC_0), UP(KC_LSFT), END );
+ break;
+ case 1:
+ /* :( */
+ return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_SCLN), TYPE(KC_9), UP(KC_LSFT), END );
+ break;
+ case 2:
+ /* (: | :) */
+ return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_9), TYPE(KC_SCLN), TYPE(KC_SPC), TYPE(KC_SPC), TYPE(KC_SCLN), TYPE(KC_0), UP(KC_LSFT), TYPE(KC_LEFT), TYPE(KC_LEFT), TYPE(KC_LEFT), END );
+ break;
+ case 3:
+ /* :( | ): */
+ return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_SCLN), TYPE(KC_9), TYPE(KC_SPC), TYPE(KC_SPC), TYPE(KC_0), TYPE(KC_SCLN), UP(KC_LSFT), TYPE(KC_LEFT), TYPE(KC_LEFT), TYPE(KC_LEFT), END );
+ break;
+ default:
+ break;
+ }
+ return MACRO_NONE;
+}
+++ /dev/null
-#include "keymap_common.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = { /* Qwerty */
- {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
- {KC_RCTL, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- // Space is repeated to accommadate for both spacebar wiring positions
-},
-[1] = { /* Colemak */
- {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
- {KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
- {KC_FN3, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[2] = { /* RAISE */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[3] = { /* LOWER */
- {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC},
- {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), LSFT(RSFT(KC_D)), KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS},
- {BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
- [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
-
- [3] = ACTION_DEFAULT_LAYER_SET(0),
- [4] = ACTION_DEFAULT_LAYER_SET(1),
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- return MACRODOWN(T(CM_T), END);
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+#include "keymap_common.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = { /* Qwerty */
+ {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
+ {KC_RCTL, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+ // Space is repeated to accommadate for both spacebar wiring positions
+},
+[1] = { /* Colemak */
+ {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
+ {KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
+ {KC_FN3, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[2] = { /* RAISE */
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
+ {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
+ {KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[3] = { /* LOWER */
+ {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC},
+ {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), LSFT(RSFT(KC_D)), KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS},
+ {BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
+ [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
+
+ [3] = ACTION_DEFAULT_LAYER_SET(0),
+ [4] = ACTION_DEFAULT_LAYER_SET(1),
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ return MACRODOWN(T(CM_T), END);
+ break;
+ }
+ return MACRO_NONE;
+};
+++ /dev/null
-#include "keymap_common.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = { /* BASE */
- {KC_ESC, KC_LBRC, KC_QUOT, KC_SCLN, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
- {KC_TAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT},
- {KC_LSFT, KC_DOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_COMM},
- {KC_LCTL, KC_LALT, KC_LGUI, FUNC(3), FUNC(2), KC_SPC, KC_SPC, FUNC(1), FUNC(3), KC_RGUI, KC_RALT, KC_RCTL}
-},
-[2] = { /* RAISE */
- {RALT(KC_RBRC), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, S(KC_RBRC)},
- {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
-},
-[3] = { /* LOWER */
- {S(KC_EQL),S(KC_1),S(KC_2),S(KC_3),RALT(KC_5),S(KC_5), S(KC_6), S(KC_7),RALT(KC_7),RALT(KC_0),S(KC_0), KC_MINS},
- {KC_TRNS,RALT(KC_2),S(KC_SLSH),KC_NUBS,S(KC_NUBS),RALT(KC_MINS),RALT(KC_NUBS), KC_NUHS, S(KC_8), S(KC_9), S(KC_MINS), KC_SLSH},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT(KC_8), RALT(KC_9), KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
-},
-[4] = { /* META */
- {KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_DEL},
- {KC_TRNS, KC_RGHT, KC_DOWN, KC_LEFT, KC_PGUP, KC_TRNS, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_PGDN, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
- [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
- [3] = ACTION_LAYER_MOMENTARY(4), // to META
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- return MACRODOWN(T(CM_T), END);
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+#include "keymap_common.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = { /* BASE */
+ {KC_ESC, KC_LBRC, KC_QUOT, KC_SCLN, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
+ {KC_TAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT},
+ {KC_LSFT, KC_DOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_COMM},
+ {KC_LCTL, KC_LALT, KC_LGUI, FUNC(3), FUNC(2), KC_SPC, KC_SPC, FUNC(1), FUNC(3), KC_RGUI, KC_RALT, KC_RCTL}
+},
+[2] = { /* RAISE */
+ {RALT(KC_RBRC), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, S(KC_RBRC)},
+ {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+},
+[3] = { /* LOWER */
+ {S(KC_EQL),S(KC_1),S(KC_2),S(KC_3),RALT(KC_5),S(KC_5), S(KC_6), S(KC_7),RALT(KC_7),RALT(KC_0),S(KC_0), KC_MINS},
+ {KC_TRNS,RALT(KC_2),S(KC_SLSH),KC_NUBS,S(KC_NUBS),RALT(KC_MINS),RALT(KC_NUBS), KC_NUHS, S(KC_8), S(KC_9), S(KC_MINS), KC_SLSH},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT(KC_8), RALT(KC_9), KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+},
+[4] = { /* META */
+ {KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_DEL},
+ {KC_TRNS, KC_RGHT, KC_DOWN, KC_LEFT, KC_PGUP, KC_TRNS, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_PGDN, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
+ [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
+ [3] = ACTION_LAYER_MOMENTARY(4), // to META
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ return MACRODOWN(T(CM_T), END);
+ break;
+ }
+ return MACRO_NONE;
+};
+++ /dev/null
-/*
-This is the keymap of /u/deepshitgoeshere!
-Layer 1 exists so I can have the symbol positions of QWERTY while having my system in german.
-The second layer has all the german umlauts I need and with capital and small letters on the
-same layer there is no need to press shift+lower.
-This keymap is made to work with software implemented QWERTZ.
-The "Gaming" layer is mainly customized for CS:GO.
-If you have any question about this keymap feel free to shoot me a message on reddit!
-*/
-
-#include "keymap_common.h"
-#include "keymap_extras/keymap_german.h"
-#include "backlight.h"
-#include "debug.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = { /* Colemak
- * ,-----------------------------------------------------------------------.
- * | Esc | q | w | f | p | g | j | l | u | y | ; | - |
- * |-----------------------------------------------------------------------|
- * | BS | a | r | s | t | d | h | n | e | i | o | ' |
- * |-----------------------------------------------------------------------|
- * | SFT | z | x | c | v | b | k | m | , | . | / | Ent |
- * |-----------------------------------------------------------------------|
- * | CTL | GUI | Tab | ALT |Lower| Space |Raise|Left |Down | Up |Right|
- * `-----------------------------------------------------------------------'
- */
- {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Z, DE_SCLN, DE_MINS},
- {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, DE_QUOT},
- {M(0), KC_Y, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, DE_COMM, DE_DOT, DE_SLSH, KC_ENT},
- {KC_LCTL, KC_LGUI, KC_TAB, KC_LALT, F(2), F(3), F(3), F(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[1] = { /* Symbols
- * ,-----------------------------------------------------------------------.
- * | | | | | | | | | | | : | |
- * |-----------------------------------------------------------------------|
- * | | | | | | | | | | | | " |
- * |-----------------------------------------------------------------------|
- * | | | | | | | | | < | > | ? | |
- * |-----------------------------------------------------------------------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------'
- */
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_DOT, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_DQOT},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), DE_MORE, DE_QST, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
-},
-[2] = { /* Raise
- * ,-----------------------------------------------------------------------.
- * | | Ä | | | | | | | Ü | Ö | |Game |
- * |-----------------------------------------------------------------------|
- * | Del | ä | | ß | | | | | ü | ö | |FVol+|
- * |-----------------------------------------------------------------------|
- * | | | | | | | | |Stop | Prv | Nxt |FVol-|
- * |-----------------------------------------------------------------------|
- * |LCTL |LGUI | Tab |LALT |Lower| Space | |Mute |Vol- |Vol+ | P/P |
- * `-----------------------------------------------------------------------'
- */
- {KC_NO, S(DE_AE), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, S(DE_UE), S(DE_OE), KC_NO, F(4)},
- {KC_DEL, DE_AE, KC_NO, DE_SS, KC_NO, KC_NO, KC_NO, KC_NO, DE_UE, DE_OE, KC_NO, RALT(KC_F12)},
- {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPRV, KC_MNXT, RALT(KC_F11)},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[3] = { /* Lower
- * ,-----------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | + |
- * |-----------------------------------------------------------------------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = |
- * |-----------------------------------------------------------------------|
- * | | | | | | [ | ] | { | } | € | | \ | Ent |
- * |-----------------------------------------------------------------------|
- * |LCTL |LGUI | Tab |LALT | | Space |Raise|Home |PgDn |PgUp | End |
- * `-----------------------------------------------------------------------'
- */
- {DE_TILD, DE_EXLM, DE_AT, DE_HASH, DE_DLR, DE_PERC, DE_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, DE_PLUS},
- {DE_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_EQL},
- {KC_NO, KC_NO, KC_NO, DE_PIPE, DE_LBRC, DE_RBRC, DE_LCBR, DE_RCBR, DE_EURO, KC_NO, DE_BSLS, KC_ENT},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
-},
-[4] = { /* Function
- * ,-----------------------------------------------------------------------.
- * | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 |
- * |-----------------------------------------------------------------------|
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-----------------------------------------------------------------------|
- * | | | | | | KP- | KP+ | | | | |Reset|
- * |-----------------------------------------------------------------------|
- * | |Light|BL DN|BL UP| | | | |Mute |Vol- |Vol+ | P/P |
- * `-----------------------------------------------------------------------'
- */
- {KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24},
- {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
- {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PMNS, KC_PPLS, KC_NO, KC_NO, KC_NO, RESET, KC_NO},
- {KC_NO, BL_TOGG, BL_DEC, BL_INC, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[5] = { /* Gaming
- * ,-----------------------------------------------------------------------.
- * | Buy | ESC | q | w | e | r | t | y | u | i | o | p |
- * |-----------------------------------------------------------------------|
- * | ENT | BS | a | s | d | f | g | h | j | k | l | ; |
- * |-----------------------------------------------------------------------|
- * | CTL | SFT | z | x | c | v | b | n | m | , | Up | / |
- * |-----------------------------------------------------------------------|
- * | | | Tab | ALT | | Space |CrJmp| GUI |Left |Down |Right|
- * `-----------------------------------------------------------------------'
- */
- {MO(6), KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, F(4)},
- {KC_ENT, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_SCLN},
- {KC_LCTL, KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, DE_DOT, KC_UP, DE_SLSH},
- {KC_NO, KC_NO, KC_TAB, KC_LALT, KC_NO, KC_SPC, KC_SPC, LCTL(KC_SPC), KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT}
-},
-[6] = { /* Gaming
- /* CS:GO buy binds
- * ,-----------------------------------------------------------------------.
- * | | | | | | | | | 7 | 8 | 9 | |
- * |-----------------------------------------------------------------------|
- * | BS | | | | | | | | 6 | 5 | 4 | End |
- * |-----------------------------------------------------------------------|
- * | CTL | SFT | | | | | | | 1 | 2 | 3 |Pgdn |
- * |-----------------------------------------------------------------------|
- * | | | Tab | ALT | | Space |CrJmp| | 0 | KP+ |PEnt |
- * `-----------------------------------------------------------------------'
- */
- {KC_TRNS, KC_NO, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_P7, KC_P8, KC_P9, KC_NO},
- {KC_BSPC, KC_NO, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_P4, KC_P5, KC_P6, KC_END},
- {KC_LCTL, KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_K, KC_P1, KC_P2, KC_P3, KC_PGDN},
- {KC_NO, KC_NO, KC_TAB, KC_LALT, KC_NO, KC_SPC, KC_SPC, LCTL(KC_SPC), KC_NO, KC_P0, KC_PDOT, KC_PENT}
-},
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
- [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
- [3] = ACTION_LAYER_TAP_KEY(4,KC_SPC), // to Function
- [4] = ACTION_LAYER_TOGGLE(5), // toggle Gaming
- [5] = ACTION_MODS_TAP_KEY(KC_LSFT, KC_CAPS), //Shift on press, Caps on tap
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- switch(id) {
- case 0: // M(0)
- if (record->event.pressed) {
- register_code(KC_LSFT);
- layer_on(1);
- } else {
- layer_off(1);
- unregister_code(KC_LSFT);
- }
- break;
- case 1: // M(1)
- if (record->event.pressed) {
- unregister_code(KC_LSFT);
- register_code(DE_MORE);
- } else {
- unregister_code(DE_MORE);
- }
- break;
- }
- return MACRO_NONE;
-
-};
\ No newline at end of file
--- /dev/null
+/*
+This is the keymap of /u/deepshitgoeshere!
+Layer 1 exists so I can have the symbol positions of QWERTY while having my system in german.
+The second layer has all the german umlauts I need and with capital and small letters on the
+same layer there is no need to press shift+lower.
+This keymap is made to work with software implemented QWERTZ.
+The "Gaming" layer is mainly customized for CS:GO.
+If you have any question about this keymap feel free to shoot me a message on reddit!
+*/
+
+#include "keymap_common.h"
+#include "keymap_extras/keymap_german.h"
+#include "backlight.h"
+#include "debug.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = { /* Colemak
+ * ,-----------------------------------------------------------------------.
+ * | Esc | q | w | f | p | g | j | l | u | y | ; | - |
+ * |-----------------------------------------------------------------------|
+ * | BS | a | r | s | t | d | h | n | e | i | o | ' |
+ * |-----------------------------------------------------------------------|
+ * | SFT | z | x | c | v | b | k | m | , | . | / | Ent |
+ * |-----------------------------------------------------------------------|
+ * | CTL | GUI | Tab | ALT |Lower| Space |Raise|Left |Down | Up |Right|
+ * `-----------------------------------------------------------------------'
+ */
+ {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Z, DE_SCLN, DE_MINS},
+ {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, DE_QUOT},
+ {M(0), KC_Y, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, DE_COMM, DE_DOT, DE_SLSH, KC_ENT},
+ {KC_LCTL, KC_LGUI, KC_TAB, KC_LALT, F(2), F(3), F(3), F(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[1] = { /* Symbols
+ * ,-----------------------------------------------------------------------.
+ * | | | | | | | | | | | : | |
+ * |-----------------------------------------------------------------------|
+ * | | | | | | | | | | | | " |
+ * |-----------------------------------------------------------------------|
+ * | | | | | | | | | < | > | ? | |
+ * |-----------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------'
+ */
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_DOT, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_DQOT},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), DE_MORE, DE_QST, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+},
+[2] = { /* Raise
+ * ,-----------------------------------------------------------------------.
+ * | | Ä | | | | | | | Ü | Ö | |Game |
+ * |-----------------------------------------------------------------------|
+ * | Del | ä | | ß | | | | | ü | ö | |FVol+|
+ * |-----------------------------------------------------------------------|
+ * | | | | | | | | |Stop | Prv | Nxt |FVol-|
+ * |-----------------------------------------------------------------------|
+ * |LCTL |LGUI | Tab |LALT |Lower| Space | |Mute |Vol- |Vol+ | P/P |
+ * `-----------------------------------------------------------------------'
+ */
+ {KC_NO, S(DE_AE), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, S(DE_UE), S(DE_OE), KC_NO, F(4)},
+ {KC_DEL, DE_AE, KC_NO, DE_SS, KC_NO, KC_NO, KC_NO, KC_NO, DE_UE, DE_OE, KC_NO, RALT(KC_F12)},
+ {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPRV, KC_MNXT, RALT(KC_F11)},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[3] = { /* Lower
+ * ,-----------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | + |
+ * |-----------------------------------------------------------------------|
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = |
+ * |-----------------------------------------------------------------------|
+ * | | | | | | [ | ] | { | } | € | | \ | Ent |
+ * |-----------------------------------------------------------------------|
+ * |LCTL |LGUI | Tab |LALT | | Space |Raise|Home |PgDn |PgUp | End |
+ * `-----------------------------------------------------------------------'
+ */
+ {DE_TILD, DE_EXLM, DE_AT, DE_HASH, DE_DLR, DE_PERC, DE_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, DE_PLUS},
+ {DE_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_EQL},
+ {KC_NO, KC_NO, KC_NO, DE_PIPE, DE_LBRC, DE_RBRC, DE_LCBR, DE_RCBR, DE_EURO, KC_NO, DE_BSLS, KC_ENT},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
+},
+[4] = { /* Function
+ * ,-----------------------------------------------------------------------.
+ * | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 |
+ * |-----------------------------------------------------------------------|
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |-----------------------------------------------------------------------|
+ * | | | | | | KP- | KP+ | | | | |Reset|
+ * |-----------------------------------------------------------------------|
+ * | |Light|BL DN|BL UP| | | | |Mute |Vol- |Vol+ | P/P |
+ * `-----------------------------------------------------------------------'
+ */
+ {KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24},
+ {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
+ {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PMNS, KC_PPLS, KC_NO, KC_NO, KC_NO, RESET, KC_NO},
+ {KC_NO, BL_TOGG, BL_DEC, BL_INC, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[5] = { /* Gaming
+ * ,-----------------------------------------------------------------------.
+ * | Buy | ESC | q | w | e | r | t | y | u | i | o | p |
+ * |-----------------------------------------------------------------------|
+ * | ENT | BS | a | s | d | f | g | h | j | k | l | ; |
+ * |-----------------------------------------------------------------------|
+ * | CTL | SFT | z | x | c | v | b | n | m | , | Up | / |
+ * |-----------------------------------------------------------------------|
+ * | | | Tab | ALT | | Space |CrJmp| GUI |Left |Down |Right|
+ * `-----------------------------------------------------------------------'
+ */
+ {MO(6), KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, F(4)},
+ {KC_ENT, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_SCLN},
+ {KC_LCTL, KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, DE_DOT, KC_UP, DE_SLSH},
+ {KC_NO, KC_NO, KC_TAB, KC_LALT, KC_NO, KC_SPC, KC_SPC, LCTL(KC_SPC), KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT}
+},
+[6] = { /* Gaming
+ /* CS:GO buy binds
+ * ,-----------------------------------------------------------------------.
+ * | | | | | | | | | 7 | 8 | 9 | |
+ * |-----------------------------------------------------------------------|
+ * | BS | | | | | | | | 6 | 5 | 4 | End |
+ * |-----------------------------------------------------------------------|
+ * | CTL | SFT | | | | | | | 1 | 2 | 3 |Pgdn |
+ * |-----------------------------------------------------------------------|
+ * | | | Tab | ALT | | Space |CrJmp| | 0 | KP+ |PEnt |
+ * `-----------------------------------------------------------------------'
+ */
+ {KC_TRNS, KC_NO, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_P7, KC_P8, KC_P9, KC_NO},
+ {KC_BSPC, KC_NO, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_P4, KC_P5, KC_P6, KC_END},
+ {KC_LCTL, KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_K, KC_P1, KC_P2, KC_P3, KC_PGDN},
+ {KC_NO, KC_NO, KC_TAB, KC_LALT, KC_NO, KC_SPC, KC_SPC, LCTL(KC_SPC), KC_NO, KC_P0, KC_PDOT, KC_PENT}
+},
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
+ [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
+ [3] = ACTION_LAYER_TAP_KEY(4,KC_SPC), // to Function
+ [4] = ACTION_LAYER_TOGGLE(5), // toggle Gaming
+ [5] = ACTION_MODS_TAP_KEY(KC_LSFT, KC_CAPS), //Shift on press, Caps on tap
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ switch(id) {
+ case 0: // M(0)
+ if (record->event.pressed) {
+ register_code(KC_LSFT);
+ layer_on(1);
+ } else {
+ layer_off(1);
+ unregister_code(KC_LSFT);
+ }
+ break;
+ case 1: // M(1)
+ if (record->event.pressed) {
+ unregister_code(KC_LSFT);
+ register_code(DE_MORE);
+ } else {
+ unregister_code(DE_MORE);
+ }
+ break;
+ }
+ return MACRO_NONE;
+
+};
\ No newline at end of file
+++ /dev/null
-#include "planck.h"
-#ifdef BACKLIGHT_ENABLE
- #include "backlight.h"
-#endif
-
-// This simple keymap is optimized for xmonad users using super as their modifier key.
-// M(1) makes it possible to change virtual screens and swap windows between them.
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-#define _QW 0
-#define _LW 1
-#define _RS 2
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = { /* Qwerty */
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {KC_LCTL, KC_LALT, KC_LGUI, M(1), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- },
- [_RS] = { /* RAISE */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL },
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
- },
- [_LW] = { /* LOWER */
- {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
- }
-};
-
-const uint16_t PROGMEM fn_actions[] = {
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- } else {
- unregister_code(KC_RSFT);
- }
- break;
- case 1:
- if (record->event.pressed) {
- register_code(KC_LGUI);
- layer_on(_RS);
- } else {
- unregister_code(KC_LGUI);
- layer_off(_RS);
- }
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+#include "planck.h"
+#ifdef BACKLIGHT_ENABLE
+ #include "backlight.h"
+#endif
+
+// This simple keymap is optimized for xmonad users using super as their modifier key.
+// M(1) makes it possible to change virtual screens and swap windows between them.
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+#define _QW 0
+#define _LW 1
+#define _RS 2
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QW] = { /* Qwerty */
+ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
+ {KC_LCTL, KC_LALT, KC_LGUI, M(1), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+ },
+ [_RS] = { /* RAISE */
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL },
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+ },
+ [_LW] = { /* LOWER */
+ {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+ }
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ #ifdef BACKLIGHT_ENABLE
+ backlight_step();
+ #endif
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ case 1:
+ if (record->event.pressed) {
+ register_code(KC_LGUI);
+ layer_on(_RS);
+ } else {
+ unregister_code(KC_LGUI);
+ layer_off(_RS);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+++ /dev/null
-#include "keymap_common.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = { /* Qwerty */
- {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT },
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT},
- {KC_LCTL, BL_STEP, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- // Space is repeated to accommadate for both spacebar wiring positions
-},
-[1] = { /* Colemak */
- {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
- {KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT },
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT},
- {KC_LCTL, BL_STEP, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[2] = { /* RAISE */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, FUNC(3), FUNC(4), RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TRNS},
- {KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_BSLS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[3] = { /* LOWER */
- {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC},
- {KC_TRNS, FUNC(3), FUNC(4), RESET, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), KC_TRNS},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, S(KC_BSLS)},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
- [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
-
- [3] = ACTION_DEFAULT_LAYER_SET(0),
- [4] = ACTION_DEFAULT_LAYER_SET(1),
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- return MACRODOWN(T(CM_T), END);
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+#include "keymap_common.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = { /* Qwerty */
+ {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT },
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT},
+ {KC_LCTL, BL_STEP, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+ // Space is repeated to accommadate for both spacebar wiring positions
+},
+[1] = { /* Colemak */
+ {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
+ {KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT },
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT},
+ {KC_LCTL, BL_STEP, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[2] = { /* RAISE */
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
+ {KC_TRNS, FUNC(3), FUNC(4), RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TRNS},
+ {KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_BSLS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[3] = { /* LOWER */
+ {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC},
+ {KC_TRNS, FUNC(3), FUNC(4), RESET, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), KC_TRNS},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, S(KC_BSLS)},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
+ [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
+
+ [3] = ACTION_DEFAULT_LAYER_SET(0),
+ [4] = ACTION_DEFAULT_LAYER_SET(1),
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ return MACRODOWN(T(CM_T), END);
+ break;
+ }
+ return MACRO_NONE;
+};
+++ /dev/null
-//
-// This layout is based on the following needs:
-//
-// should be as close as possible to querty/us-international layout (using international/AltGr as o/s driver)
-// added german umlauts at known places from de-layout
-// all movement keys should be at known places from vi/bash (eg HJKL for cursor keys)
-// Fn layer (at CapsLock place like the Pok3r does) for missing keys
-// additional layer for tmux window switching
-//
-// This is work in Progress! If you have suggestions write me at github.com/mollat/qmk_firmware/ and check
-// this fork for updates as I probably won't bother jack with my pull requests frequently.
-//
-
-#include "planck.h"
-
-#define _QWERTY 0
-#define _HIGH 1
-#define _LOW 2
-#define _FN 3
-#define _TMUX 4
-#define _LCTL 5
-#define _MOUSE 6
-#define __________ KC_NO // just for easy reading
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_QWERTY] = { /* Qwerty */
- { LT(_MOUSE, KC_ESC),KC_Q,KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC },
- { LT(_FN, KC_TAB),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT },
- { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT)},
- { __________, __________, KC_LGUI, KC_LALT, KC_LCTL,LT(_TMUX, KC_SPC),LT(_HIGH, KC_SPC),MO(_LOW),KC_RALT,KC_RGUI, __________, __________ }
-},
-
-// missing keys regarding to the form factor
-// keeping the dot and comma for typing faster IP addresses and (german) float values
-// putting the backslash on the slash's place
-[_HIGH] = {
- { KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MINS },
- { __________, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL },
- { __________, __________, __________, __________, __________, __________, __________, __________, KC_COMM, KC_DOT, KC_BSLS, LSFT(KC_BSLS)},
- { __________, __________, __________, __________, __________, __________, KC_TRNS, __________, __________, __________, __________, __________ }
-},
-
-// classic Fn-Layer triggered with 'CapsLock-key' like on Pok3r
-// SPC and ENT are doubled for using repeat (which I switched off, see https://github.com/tmk/tmk_keyboard/issues/287)
-// '€' sign is on the '5' position as this is the usual AltGr place on the US Internation layout
-// home/end at the 'a' and 'e' position like in bash
-// ins at 'i'
-// del besides backspace (had no better place for it because of the umlauts)
-// pg-down at 'f' (forward in vi), pg-up at 'b' (back in 'vi')
-//
-[_FN] = {
- { __________, __________, __________, KC_END, __________, __________, __________, __________, KC_INS, __________, KC_DEL, RALT(KC_Y) },
- { KC_TRNS, __________, RALT(KC_S), __________, KC_PGDN, RALT(KC_5), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, RALT(KC_P), RALT(KC_Q) },
- { __________, KC_HOME, __________, __________, __________, KC_PGUP, __________, __________, __________, __________, __________, KC_ENT },
- { RESET, __________, __________, __________, __________, KC_SPC, KC_SPC, __________, __________, __________, __________, __________ }
-},
-
-// function key layer and some shift + (missing key at the small form factor)
-[_LOW] = {
- { KC_TILD, __________, __________, __________, __________, __________, __________, __________, __________, KC_LCBR, KC_RCBR, KC_UNDS },
- { __________, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_LBRC, KC_RBRC, KC_PLUS },
- { __________, __________, __________, __________, __________, KC_F9, KC_F10, KC_F11, KC_F12, __________, __________, __________ },
- { __________, __________, __________, __________, __________, __________, __________, KC_TRNS, __________, __________, __________, __________ }
-},
-
-// most macros will switch tmux screens
-// two macros are for vi's save/quit at 'w' and 'q'
-[_TMUX] = {
- { __________, M(14), M(13), __________, __________, __________, __________, __________, __________, __________, M(11), __________ },
- { M(0), M(1), M(2), M(3), M(4), M(5), M(6), M(7), M(8), M(9), __________, __________ },
- { __________, __________, __________, M(12), __________, __________, M(10), __________, __________, __________, __________, __________ },
- { __________, __________, __________, __________, __________, KC_TRNS, __________, __________, __________, __________, __________, __________ }
-},
-
-// mouse movement can be improved (e.g. can't press hj at once), but I will use this seldom, so I stick with hjkl keys.
-[_MOUSE] = {
- { KC_TRNS, __________, __________, __________, __________, __________, __________, __________, __________, __________, __________, __________ },
- { __________, __________, __________, __________, KC_WH_D, __________, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, __________, __________ },
- { __________, __________, __________, __________, __________, KC_WH_U, __________, __________, __________, __________, __________, __________ },
- { __________, __________, __________, KC_ACL2, KC_ACL1, KC_ACL0, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN2, __________, __________, __________ }
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [_LCTL] = ACTION_MODS_TAP_KEY(KC_LCTL, M(12)), // does not work
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- switch(id) {
- case 0:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_0), END );
- break;
- case 1:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_1), END );
- break;
- case 2:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_2), END );
- break;
- case 3:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_3), END );
- break;
- case 4:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_4), END );
- break;
- case 5:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_5), END );
- break;
- case 6:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_6), END );
- break;
- case 7:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_7), END );
- break;
- case 8:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_8), END );
- break;
- case 9:
- // tmux last window
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_L), END );
- break;
- // tmux next window
- case 10:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_N), END );
- break;
- // tmux previous window
- case 11:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_P), END );
- break;
- // tmux new window
- case 12:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_C), END );
- break;
- case 13:
- // vi save document
- return MACRODOWN( TYPE(KC_ESC), DOWN(KC_LSFT), TYPE(KC_SCLN), UP(KC_LSFT), TYPE(KC_W), TYPE(KC_ENT), END );
- break;
- case 14:
- // vi quit
- return MACRODOWN( TYPE(KC_ESC), DOWN(KC_LSFT), TYPE(KC_SCLN), UP(KC_LSFT), TYPE(KC_Q), TYPE(KC_ENT), END );
- break;
- // tmux press ctrl-b
- case 15:
- return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), END );
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+//
+// This layout is based on the following needs:
+//
+// should be as close as possible to querty/us-international layout (using international/AltGr as o/s driver)
+// added german umlauts at known places from de-layout
+// all movement keys should be at known places from vi/bash (eg HJKL for cursor keys)
+// Fn layer (at CapsLock place like the Pok3r does) for missing keys
+// additional layer for tmux window switching
+//
+// This is work in Progress! If you have suggestions write me at github.com/mollat/qmk_firmware/ and check
+// this fork for updates as I probably won't bother jack with my pull requests frequently.
+//
+
+#include "planck.h"
+
+#define _QWERTY 0
+#define _HIGH 1
+#define _LOW 2
+#define _FN 3
+#define _TMUX 4
+#define _LCTL 5
+#define _MOUSE 6
+#define __________ KC_NO // just for easy reading
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_QWERTY] = { /* Qwerty */
+ { LT(_MOUSE, KC_ESC),KC_Q,KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC },
+ { LT(_FN, KC_TAB),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT },
+ { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT)},
+ { __________, __________, KC_LGUI, KC_LALT, KC_LCTL,LT(_TMUX, KC_SPC),LT(_HIGH, KC_SPC),MO(_LOW),KC_RALT,KC_RGUI, __________, __________ }
+},
+
+// missing keys regarding to the form factor
+// keeping the dot and comma for typing faster IP addresses and (german) float values
+// putting the backslash on the slash's place
+[_HIGH] = {
+ { KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MINS },
+ { __________, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL },
+ { __________, __________, __________, __________, __________, __________, __________, __________, KC_COMM, KC_DOT, KC_BSLS, LSFT(KC_BSLS)},
+ { __________, __________, __________, __________, __________, __________, KC_TRNS, __________, __________, __________, __________, __________ }
+},
+
+// classic Fn-Layer triggered with 'CapsLock-key' like on Pok3r
+// SPC and ENT are doubled for using repeat (which I switched off, see https://github.com/tmk/tmk_keyboard/issues/287)
+// '€' sign is on the '5' position as this is the usual AltGr place on the US Internation layout
+// home/end at the 'a' and 'e' position like in bash
+// ins at 'i'
+// del besides backspace (had no better place for it because of the umlauts)
+// pg-down at 'f' (forward in vi), pg-up at 'b' (back in 'vi')
+//
+[_FN] = {
+ { __________, __________, __________, KC_END, __________, __________, __________, __________, KC_INS, __________, KC_DEL, RALT(KC_Y) },
+ { KC_TRNS, __________, RALT(KC_S), __________, KC_PGDN, RALT(KC_5), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, RALT(KC_P), RALT(KC_Q) },
+ { __________, KC_HOME, __________, __________, __________, KC_PGUP, __________, __________, __________, __________, __________, KC_ENT },
+ { RESET, __________, __________, __________, __________, KC_SPC, KC_SPC, __________, __________, __________, __________, __________ }
+},
+
+// function key layer and some shift + (missing key at the small form factor)
+[_LOW] = {
+ { KC_TILD, __________, __________, __________, __________, __________, __________, __________, __________, KC_LCBR, KC_RCBR, KC_UNDS },
+ { __________, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_LBRC, KC_RBRC, KC_PLUS },
+ { __________, __________, __________, __________, __________, KC_F9, KC_F10, KC_F11, KC_F12, __________, __________, __________ },
+ { __________, __________, __________, __________, __________, __________, __________, KC_TRNS, __________, __________, __________, __________ }
+},
+
+// most macros will switch tmux screens
+// two macros are for vi's save/quit at 'w' and 'q'
+[_TMUX] = {
+ { __________, M(14), M(13), __________, __________, __________, __________, __________, __________, __________, M(11), __________ },
+ { M(0), M(1), M(2), M(3), M(4), M(5), M(6), M(7), M(8), M(9), __________, __________ },
+ { __________, __________, __________, M(12), __________, __________, M(10), __________, __________, __________, __________, __________ },
+ { __________, __________, __________, __________, __________, KC_TRNS, __________, __________, __________, __________, __________, __________ }
+},
+
+// mouse movement can be improved (e.g. can't press hj at once), but I will use this seldom, so I stick with hjkl keys.
+[_MOUSE] = {
+ { KC_TRNS, __________, __________, __________, __________, __________, __________, __________, __________, __________, __________, __________ },
+ { __________, __________, __________, __________, KC_WH_D, __________, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, __________, __________ },
+ { __________, __________, __________, __________, __________, KC_WH_U, __________, __________, __________, __________, __________, __________ },
+ { __________, __________, __________, KC_ACL2, KC_ACL1, KC_ACL0, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN2, __________, __________, __________ }
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [_LCTL] = ACTION_MODS_TAP_KEY(KC_LCTL, M(12)), // does not work
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ switch(id) {
+ case 0:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_0), END );
+ break;
+ case 1:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_1), END );
+ break;
+ case 2:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_2), END );
+ break;
+ case 3:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_3), END );
+ break;
+ case 4:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_4), END );
+ break;
+ case 5:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_5), END );
+ break;
+ case 6:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_6), END );
+ break;
+ case 7:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_7), END );
+ break;
+ case 8:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_8), END );
+ break;
+ case 9:
+ // tmux last window
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_L), END );
+ break;
+ // tmux next window
+ case 10:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_N), END );
+ break;
+ // tmux previous window
+ case 11:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_P), END );
+ break;
+ // tmux new window
+ case 12:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), TYPE(KC_C), END );
+ break;
+ case 13:
+ // vi save document
+ return MACRODOWN( TYPE(KC_ESC), DOWN(KC_LSFT), TYPE(KC_SCLN), UP(KC_LSFT), TYPE(KC_W), TYPE(KC_ENT), END );
+ break;
+ case 14:
+ // vi quit
+ return MACRODOWN( TYPE(KC_ESC), DOWN(KC_LSFT), TYPE(KC_SCLN), UP(KC_LSFT), TYPE(KC_Q), TYPE(KC_ENT), END );
+ break;
+ // tmux press ctrl-b
+ case 15:
+ return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_B), UP(KC_LCTL), END );
+ break;
+ }
+ return MACRO_NONE;
+};
+++ /dev/null
-#include "keymap_common.h"
-#include "backlight.h"
-#include "debug.h"
-
-#define COLEMAK_LAYER 0
-#define QWERTY_LAYER 1
-#define LOWER_LAYER 2
-#define UPPER_LAYER 3
-#define SPACEFN_LAYER 4
-#define TENKEY_LAYER 5
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[COLEMAK_LAYER] = { /* Colemak */
- {KC_TAB, UNI(0x1961), KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
- {KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
- {FUNC(5), KC_ESC, KC_LGUI, KC_LALT, FUNC(1), FUNC(6), FUNC(6), FUNC(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[QWERTY_LAYER] = { /* Qwerty */
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
- {FUNC(5), KC_ESC, KC_LGUI, KC_LALT, FUNC(1), FUNC(6), FUNC(6), FUNC(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[LOWER_LAYER] = { /* LOWER */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELETE},
- {KC_TRNS, FUNC(3), FUNC(4), RESET, DEBUG, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
-},
-[UPPER_LAYER] = { /* RAISE */
- {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_DELETE},
- {KC_CALC, FUNC(3), FUNC(4), RESET, DEBUG, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[SPACEFN_LAYER] = { /* SpaceFN */
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS},
- {KC_TRNS, FUNC(3), FUNC(4), KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
-},
-[TENKEY_LAYER] = { /* TENKEY */
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, KC_BSPC},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, KC_NLCK},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_1, KC_KP_2, KC_KP_3, KC_PDOT, KC_ENT},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_KP_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_TAP_KEY(LOWER_LAYER, KC_BSPC), // Tap for backspace, hold for LOWER
- [2] = ACTION_LAYER_TAP_KEY(UPPER_LAYER, KC_ENT), // Tap for enter, hold for RAISE
-
- [3] = ACTION_DEFAULT_LAYER_SET(COLEMAK_LAYER),
- [4] = ACTION_DEFAULT_LAYER_SET(QWERTY_LAYER),
- [5] = ACTION_LAYER_TOGGLE(TENKEY_LAYER),
-
- [6] = ACTION_LAYER_TAP_KEY(SPACEFN_LAYER, KC_SPC), // Tap for space, hold for SpaceFN
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- backlight_step();
- } else {
- unregister_code(KC_RSFT);
- }
- break;
- }
- return MACRO_NONE;
-};
\ No newline at end of file
--- /dev/null
+#include "keymap_common.h"
+#include "backlight.h"
+#include "debug.h"
+
+#define COLEMAK_LAYER 0
+#define QWERTY_LAYER 1
+#define LOWER_LAYER 2
+#define UPPER_LAYER 3
+#define SPACEFN_LAYER 4
+#define TENKEY_LAYER 5
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[COLEMAK_LAYER] = { /* Colemak */
+ {KC_TAB, UNI(0x1961), KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
+ {KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
+ {FUNC(5), KC_ESC, KC_LGUI, KC_LALT, FUNC(1), FUNC(6), FUNC(6), FUNC(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[QWERTY_LAYER] = { /* Qwerty */
+ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT},
+ {FUNC(5), KC_ESC, KC_LGUI, KC_LALT, FUNC(1), FUNC(6), FUNC(6), FUNC(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[LOWER_LAYER] = { /* LOWER */
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELETE},
+ {KC_TRNS, FUNC(3), FUNC(4), RESET, DEBUG, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
+ {KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
+},
+[UPPER_LAYER] = { /* RAISE */
+ {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_DELETE},
+ {KC_CALC, FUNC(3), FUNC(4), RESET, DEBUG, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[SPACEFN_LAYER] = { /* SpaceFN */
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS},
+ {KC_TRNS, FUNC(3), FUNC(4), KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+},
+[TENKEY_LAYER] = { /* TENKEY */
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, KC_BSPC},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, KC_NLCK},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_1, KC_KP_2, KC_KP_3, KC_PDOT, KC_ENT},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_KP_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_KEY(LOWER_LAYER, KC_BSPC), // Tap for backspace, hold for LOWER
+ [2] = ACTION_LAYER_TAP_KEY(UPPER_LAYER, KC_ENT), // Tap for enter, hold for RAISE
+
+ [3] = ACTION_DEFAULT_LAYER_SET(COLEMAK_LAYER),
+ [4] = ACTION_DEFAULT_LAYER_SET(QWERTY_LAYER),
+ [5] = ACTION_LAYER_TOGGLE(TENKEY_LAYER),
+
+ [6] = ACTION_LAYER_TAP_KEY(SPACEFN_LAYER, KC_SPC), // Tap for space, hold for SpaceFN
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ backlight_step();
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
\ No newline at end of file
+++ /dev/null
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-// this is the style you want to emulate.
-
-#include "planck.h"
-#include "backlight.h"
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QW 0
-#define _CM 1
-#define _DV 2
-#define _LW 3
-#define _RS 4
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_QW] = { /* Qwerty */
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {M(0), KC_ESC, KC_LALT, KC_LGUI, F(1), KC_SPC, KC_SPC, F(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[_CM] = { /* Colemak */
- {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
- {KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {M(0), KC_ESC, KC_LALT, KC_LGUI, F(1), KC_SPC, KC_SPC, F(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[_DV] = { /* Dvorak */
- {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
- {KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
- {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
- {M(0), KC_ESC, KC_LALT, KC_LGUI, F(1), KC_SPC, KC_SPC, F(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[_RS] = { /* RAISE */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS},
- {M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F14, KC_F15, KC_TRNS, KC_MFFD, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[_LW] = { /* LOWER */
- {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS},
- {M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F14, KC_F15, KC_TRNS, KC_MFFD, KC_VOLD, KC_VOLU, KC_MPLY}
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_TAP_KEY(MO(_LW), KC_BSPC), // Tap for backspace, hold for LOWER
- [2] = ACTION_LAYER_TAP_KEY(MO(_RS), KC_ENT), // Tap for enter, hold for RAISE
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- backlight_step();
- } else {
- unregister_code(KC_RSFT);
- }
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+
+#include "planck.h"
+#include "backlight.h"
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _QW 0
+#define _CM 1
+#define _DV 2
+#define _LW 3
+#define _RS 4
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[_QW] = { /* Qwerty */
+ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
+ {M(0), KC_ESC, KC_LALT, KC_LGUI, F(1), KC_SPC, KC_SPC, F(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[_CM] = { /* Colemak */
+ {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
+ {KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
+ {M(0), KC_ESC, KC_LALT, KC_LGUI, F(1), KC_SPC, KC_SPC, F(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[_DV] = { /* Dvorak */
+ {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
+ {KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
+ {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
+ {M(0), KC_ESC, KC_LALT, KC_LGUI, F(1), KC_SPC, KC_SPC, F(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+[_RS] = { /* RAISE */
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
+ {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS},
+ {M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F14, KC_F15, KC_TRNS, KC_MFFD, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[_LW] = { /* LOWER */
+ {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+ {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS},
+ {M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F14, KC_F15, KC_TRNS, KC_MFFD, KC_VOLD, KC_VOLU, KC_MPLY}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_KEY(MO(_LW), KC_BSPC), // Tap for backspace, hold for LOWER
+ [2] = ACTION_LAYER_TAP_KEY(MO(_RS), KC_ENT), // Tap for enter, hold for RAISE
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ backlight_step();
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+++ /dev/null
-#include "keymap_common.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = { /* Qwerty */
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_KP_MINUS, KC_KP_PLUS, KC_KP_PLUS, KC_KP_ENTER, KC_KP_ENTER},
- {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_KP_ASTERISK, KC_KP_9, KC_KP_6, KC_KP_3, KC_KP_DOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_KP_SLASH, KC_KP_8, KC_KP_5, KC_KP_2, KC_KP_0},
- {BL_STEP, KC_LCTL, KC_LALT, KC_LGUI, KC_NO, KC_SPC, KC_SPC, KC_NUMLOCK, KC_KP_7, KC_KP_4, KC_KP_1, KC_KP_0}
- // Space is repeated to accommadate for both spacebar wiring positions
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- return MACRODOWN(T(CM_T), END);
- break;
- }
- return MACRO_NONE;
-};
\ No newline at end of file
--- /dev/null
+#include "keymap_common.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = { /* Qwerty */
+ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_KP_MINUS, KC_KP_PLUS, KC_KP_PLUS, KC_KP_ENTER, KC_KP_ENTER},
+ {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_KP_ASTERISK, KC_KP_9, KC_KP_6, KC_KP_3, KC_KP_DOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_KP_SLASH, KC_KP_8, KC_KP_5, KC_KP_2, KC_KP_0},
+ {BL_STEP, KC_LCTL, KC_LALT, KC_LGUI, KC_NO, KC_SPC, KC_SPC, KC_NUMLOCK, KC_KP_7, KC_KP_4, KC_KP_1, KC_KP_0}
+ // Space is repeated to accommadate for both spacebar wiring positions
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ return MACRODOWN(T(CM_T), END);
+ break;
+ }
+ return MACRO_NONE;
+};
\ No newline at end of file
+++ /dev/null
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-// this is the style you want to emulate.
-//
-//Dropped the Dvorak layer and added two my layer buttons. Both Raise and lower can be accessed from either side now.
-
-#include "planck.h"
-#ifdef BACKLIGHT_ENABLE
- #include "backlight.h"
-#endif
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QW 0
-#define _CM 1
-#define _LW 2
-#define _RS 3
-#define _FN 4
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI |Func |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QW] = {
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {KC_LCTL, KC_LALT, KC_LGUI, MO(_FN), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI |Func |Lower | Space |Raise | Left | Down | Up |Right
- * `-----------------------------------------------------------------------------------'
- */
-[_CM] = {
- {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
- {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {KC_LCTL, KC_LALT, KC_LGUI, MO(_FN), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| F7 | F8 | F9 | F10 | F11 | F12 | _ | + | { | } |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI |Func |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_RS] = {
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_PIPE},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
-},
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | Reset| Ins | Home | PGUP |Colemk| Left | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Brite| Del | End | PGDN |Qwerty| Del | _ | + | { | } |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI |Func |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_LW] = {
- {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
- {KC_TRNS, RESET, KC_INS, KC_HOME, KC_PGUP, DF(_CM), KC_LEFT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, M(0), KC_DEL, KC_END, KC_PGDN, DF(_QW), KC_DEL, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
-},
-/* Function
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | GUI | X | C | V | Z | Left | Down | Up |Right | Del | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * |Shift | Ctrl | X | C | V | Z | Next | Mute | Vol- | Vol+ | Play |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI |Func |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_FN] = {
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, KC_RGUI, KC_X, KC_C, KC_V, KC_Z, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, KC_BSLS},
- {KC_TRNS, KC_RCTL, KC_X, KC_C, KC_V, KC_Z, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- } else {
- unregister_code(KC_RSFT);
- }
- break;
- }
- return MACRO_NONE;
-};
--- /dev/null
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+//
+//Dropped the Dvorak layer and added two my layer buttons. Both Raise and lower can be accessed from either side now.
+
+#include "planck.h"
+#ifdef BACKLIGHT_ENABLE
+ #include "backlight.h"
+#endif
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _QW 0
+#define _CM 1
+#define _LW 2
+#define _RS 3
+#define _FN 4
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt | GUI |Func |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QW] = {
+ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
+ {KC_LCTL, KC_LALT, KC_LGUI, MO(_FN), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+/* Colemak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | R | S | T | D | H | N | E | I | O | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt | GUI |Func |Lower | Space |Raise | Left | Down | Up |Right
+ * `-----------------------------------------------------------------------------------'
+ */
+[_CM] = {
+ {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
+ {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
+ {KC_LCTL, KC_LALT, KC_LGUI, MO(_FN), MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| F7 | F8 | F9 | F10 | F11 | F12 | _ | + | { | } |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt | GUI |Func |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RS] = {
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_PIPE},
+ {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+},
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | Reset| Ins | Home | PGUP |Colemk| Left | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Brite| Del | End | PGDN |Qwerty| Del | _ | + | { | } |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt | GUI |Func |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LW] = {
+ {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+ {KC_TRNS, RESET, KC_INS, KC_HOME, KC_PGUP, DF(_CM), KC_LEFT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
+ {KC_TRNS, M(0), KC_DEL, KC_END, KC_PGDN, DF(_QW), KC_DEL, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+},
+/* Function
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | GUI | X | C | V | Z | Left | Down | Up |Right | Del | \ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |Shift | Ctrl | X | C | V | Z | Next | Mute | Vol- | Vol+ | Play |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt | GUI |Func |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_FN] = {
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
+ {KC_TRNS, KC_RGUI, KC_X, KC_C, KC_V, KC_Z, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, KC_BSLS},
+ {KC_TRNS, KC_RCTL, KC_X, KC_C, KC_V, KC_Z, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ #ifdef BACKLIGHT_ENABLE
+ backlight_step();
+ #endif
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};