diff options
Diffstat (limited to 'keyboards')
-rw-r--r-- | keyboards/crkbd/keymaps/ninjonas/README.md | 2 | ||||
-rw-r--r-- | keyboards/crkbd/keymaps/ninjonas/config.h | 64 | ||||
-rw-r--r-- | keyboards/crkbd/keymaps/ninjonas/keymap.c | 10 | ||||
-rw-r--r-- | keyboards/crkbd/keymaps/ninjonas/rgb.c | 27 | ||||
-rw-r--r-- | keyboards/crkbd/keymaps/ninjonas/rules.mk | 6 | ||||
-rw-r--r-- | keyboards/hotdox/keymaps/ninjonas/README.md | 2 | ||||
-rw-r--r-- | keyboards/hotdox/keymaps/ninjonas/keymap.c | 12 | ||||
-rw-r--r-- | keyboards/lily58/keymaps/ninjonas/README.md | 4 | ||||
-rw-r--r-- | keyboards/lily58/keymaps/ninjonas/keymap.c | 8 | ||||
-rw-r--r-- | keyboards/pinky/3/keymaps/ninjonas/README.md | 2 | ||||
-rw-r--r-- | keyboards/pinky/3/keymaps/ninjonas/keymap.c | 6 |
11 files changed, 77 insertions, 66 deletions
diff --git a/keyboards/crkbd/keymaps/ninjonas/README.md b/keyboards/crkbd/keymaps/ninjonas/README.md index 24889a221d..4d7434fa7a 100644 --- a/keyboards/crkbd/keymaps/ninjonas/README.md +++ b/keyboards/crkbd/keymaps/ninjonas/README.md @@ -51,7 +51,7 @@ More information about the crkbd keyboard can be found [here](https://thomasbaar //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| // , , KC_BRID, Next, VolUp, , PgDn, Left, Down, Right, K_LOCK, //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // , , , Prev, VolDn, [, ], , , M_CODE, M_ZOOM, M_PYNV, + // , , , Prev, VolDn, [, ], , , M_CODE, M_XXX1, M_PYNV, //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| // , , , , , //`---------------------' `---------------------' diff --git a/keyboards/crkbd/keymaps/ninjonas/config.h b/keyboards/crkbd/keymaps/ninjonas/config.h index ef7ff6c556..5d21446623 100644 --- a/keyboards/crkbd/keymaps/ninjonas/config.h +++ b/keyboards/crkbd/keymaps/ninjonas/config.h @@ -32,16 +32,60 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define TAPPING_FORCE_HOLD -#ifdef RGBLIGHT_ENABLE - #undef RGBLED_NUM - #undef RGBLIGHT_ANIMATIONS // https://docs.qmk.fm/#/feature_rgblight?id=effect-and-animation-toggles - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLED_NUM 27 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 +#ifdef RGB_MATRIX_ENABLE + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 + #define RGB_MATRIX_HUE_STEP 10 + #define RGB_MATRIX_SAT_STEP 10 + #define RGB_MATRIX_VAL_STEP 10 + #define RGB_MATRIX_SPD_STEP 10 + // #define RGB_MATRIX_KEYPRESSES + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + + // BEGIN: Disable RGB Effects + //#define DISABLE_RGB_MATRIX_SOLID_COLOR + //#define DISABLE_RGB_MATRIX_ALPHAS_MODS + //#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define DISABLE_RGB_MATRIX_BREATHING + #define DISABLE_RGB_MATRIX_BAND_SAT + #define DISABLE_RGB_MATRIX_BAND_VAL + // #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT + #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL + #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT + #define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL + #define DISABLE_RGB_MATRIX_CYCLE_ALL + #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT + #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN + #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN + #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL + #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define DISABLE_RGB_MATRIX_CYCLE_SPIRAL + #define DISABLE_RGB_MATRIX_DUAL_BEACON + #define DISABLE_RGB_MATRIX_RAINBOW_BEACON + #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define DISABLE_RGB_MATRIX_RAINDROPS + #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + + // BEGIN: RGB_MATRIX_FRAMEBUFFER_EFFECTS + #define DISABLE_RGB_MATRIX_TYPING_HEATMAP + // #define DISABLE_RGB_MATRIX_DIGITAL_RAIN + // END: RGB_MATRIX_FRAMEBUFFER_EFFECTS + + // BEGIN: RGB_MATRIX_KEYPRESSES + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define DISABLE_RGB_MATRIX_SPLASH + #define DISABLE_RGB_MATRIX_MULTISPLASH + #define DISABLE_RGB_MATRIX_SOLID_SPLASH + #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH + // END: RGB_MATRIX_KEYPRESSES + // END: Disable RGB Effects #endif #define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/ninjonas/keymap.c b/keyboards/crkbd/keymaps/ninjonas/keymap.c index 6d19345c44..21f83cc78e 100644 --- a/keyboards/crkbd/keymaps/ninjonas/keymap.c +++ b/keyboards/crkbd/keymaps/ninjonas/keymap.c @@ -40,11 +40,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT_wrapper( //,----------------------------------------------------. ,----------------------------------------------------. - XXXXXXX, XXXXXXX, _________MEDIA_1_________, K_CSCN, _______________NAV_1______________, XXXXXXX, K_MDSH, + M_XXX2, M_XXX3, _________MEDIA_1_________, K_CSCN, _______________NAV_1______________, XXXXXXX, K_MDSH, //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - XXXXXXX, XXXXXXX, _________MEDIA_2_________, XXXXXXX, _______________NAV_2______________, K_LOCK, XXXXXXX, + M_XXX4, M_XXX5, _________MEDIA_2_________, XXXXXXX, _______________NAV_2______________, K_LOCK, XXXXXXX, //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _______, M_SHFT, _________MEDIA_3_________, T_LBRC, T_RBRC, _______, XXXXXXX, M_CODE, M_ZOOM, M_PYNV, + KC_LSFT, M_SHFT, _________MEDIA_3_________, T_LBRC, T_RBRC, KC_M, XXXXXXX, M_CODE, M_XXX1, M_PYNV, //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| _______,_______,_______, _______,_______,_______ //`---------------------' `---------------------' @@ -66,9 +66,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,----------------------------------------------------. ,----------------------------------------------------. M_MAKE, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, COLEMAK, DVORAK, QWERTY, //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - M_VRSN, M_MALL, XXXXXXX, RGB_SAI, RGB_HUI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + M_VRSN, M_MALL, RGB_SPI, RGB_SAI, RGB_HUI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - M_FLSH, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_VAD, RGB_M_P, RGB_M_B,RGB_M_SW, XXXXXXX, XXXXXXX, XXXXXXX, + M_FLSH, XXXXXXX, RGB_SPD, RGB_SAD, RGB_HUD, RGB_VAD, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| _______,_______,_______, _______,_______,_______ //`---------------------' `---------------------' diff --git a/keyboards/crkbd/keymaps/ninjonas/rgb.c b/keyboards/crkbd/keymaps/ninjonas/rgb.c deleted file mode 100644 index f9ac3a8610..0000000000 --- a/keyboards/crkbd/keymaps/ninjonas/rgb.c +++ /dev/null @@ -1,27 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -extern uint8_t is_master; - -int RGB_current_mode; - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -void keyboard_post_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; - #endif -}
\ No newline at end of file diff --git a/keyboards/crkbd/keymaps/ninjonas/rules.mk b/keyboards/crkbd/keymaps/ninjonas/rules.mk index 92e18ed6e2..95cc3fed36 100644 --- a/keyboards/crkbd/keymaps/ninjonas/rules.mk +++ b/keyboards/crkbd/keymaps/ninjonas/rules.mk @@ -1,11 +1,7 @@ -RGBLIGHT_ENABLE = yes +RGB_MATRIX_ENABLE = WS2812 MOUSEKEY_ENABLE = no OLED_DRIVER_ENABLE = yes LINK_TIME_OPTIMIZATION_ENABLE = yes # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -# If you want to change the display of OLED, you need to change here -SRC += ./lib/rgb_state_reader.c \ - rgb.c diff --git a/keyboards/hotdox/keymaps/ninjonas/README.md b/keyboards/hotdox/keymaps/ninjonas/README.md index b289651a8d..5cbfacf9f5 100644 --- a/keyboards/hotdox/keymaps/ninjonas/README.md +++ b/keyboards/hotdox/keymaps/ninjonas/README.md @@ -43,7 +43,7 @@ This keymap is designed based off my typing habits and is subject to change. Inf * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | = | * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' - * |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_ZOOM|M_PYNV| + * |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_XXX1|M_PYNV| * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | Up | Down | | Left | Right| diff --git a/keyboards/hotdox/keymaps/ninjonas/keymap.c b/keyboards/hotdox/keymaps/ninjonas/keymap.c index 248a4320a1..7a505b4e1b 100644 --- a/keyboards/hotdox/keymaps/ninjonas/keymap.c +++ b/keyboards/hotdox/keymaps/ninjonas/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | = | * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' - * |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_ZOOM|M_PYNV| + * |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_XXX1|M_PYNV| * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | Up | Down | | Left | Right| @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, _____________________QWERTY_R1______________________, _____________________QWERTY_R2______________________, T_RBRC, _____________________QWERTY_R3______________________, - ________MOD_RIGHT________, M_ZOOM, M_PYNV, + ________MOD_RIGHT________, M_XXX1, M_PYNV, // RIGHT THUMB KC_LEFT, KC_RGHT, KC_PGUP, @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | = | * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' - * |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_ZOOM|M_PYNV| + * |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_XXX1|M_PYNV| * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | Up | Down | | Left | Right| @@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, _____________________DVORAK_R1______________________, _____________________DVORAK_R2______________________, T_RBRC, _____________________DVORAK_R3______________________, - ________MOD_RIGHT________, M_ZOOM, M_PYNV, + ________MOD_RIGHT________, M_XXX1, M_PYNV, // RIGHT THUMB KC_LEFT, KC_RGHT, KC_PGUP, @@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | = | * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' - * |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_ZOOM|M_PYNV| + * |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_XXX1|M_PYNV| * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | Up | Down | | Left | Right| @@ -150,7 +150,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, _____________________COLEMAK_R1_____________________, _____________________COLEMAK_R2_____________________, T_RBRC, _____________________COLEMAK_R3_____________________, - ________MOD_RIGHT________, M_ZOOM, M_PYNV, + ________MOD_RIGHT________, M_XXX1, M_PYNV, // RIGHT THUMB KC_LEFT, KC_RGHT, KC_PGUP, diff --git a/keyboards/lily58/keymaps/ninjonas/README.md b/keyboards/lily58/keymaps/ninjonas/README.md index ef6322db4d..8622528400 100644 --- a/keyboards/lily58/keymaps/ninjonas/README.md +++ b/keyboards/lily58/keymaps/ninjonas/README.md @@ -3,8 +3,6 @@ ## Keymap This keymap is designed based off my typing habits and is subject to change. Information about custom user macros and tap dances can be found [here](../../../../users/ninjonas). -> Make sure you update QMK's lily58 config.h TAPPING_TERM to 200ms or this won't compile - More information about the Lily58 pro keyboard can be found [here](https://yuchi-kbd.hatenablog.com/entry/2018/12/23/214342) ### QWERTY @@ -71,7 +69,7 @@ More information about the Lily58 pro keyboard can be found [here](https://yuchi * |------+------+------+-------+------+------| |------+------+------+------+-------+------| * | | |KC_BRID| Next |VolUp | |-------. ,-------| PgDn | Left | Down |Right |K_LOCK | | * |------+------+------+-------+------+------| | | |------+------+------+------+-------+------| - * |M_SHFT| | | Prev |VolDn | |-------| |-------| | | | |M_ZOOM |M_PYNV| + * |M_SHFT| | | Prev |VolDn | |-------| |-------| | | | | |M_PYNV| * `------------------------------------------/ / \ \------------------------------------------' * | | | | / / \ \ | |M_CODE| | * | | | |/ / \ \ | | | | diff --git a/keyboards/lily58/keymaps/ninjonas/keymap.c b/keyboards/lily58/keymaps/ninjonas/keymap.c index 5ef607564e..6c6a41b3b7 100644 --- a/keyboards/lily58/keymaps/ninjonas/keymap.c +++ b/keyboards/lily58/keymaps/ninjonas/keymap.c @@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+-------+------+------| |------+------+------+------+-------+------| * | | |KC_BRID| Next |VolUp | |-------. ,-------| PgDn | Left | Down |Right |K_LOCK | | * |------+------+------+-------+------+------| | | |------+------+------+------+-------+------| - * |M_SHFT| | | Prev |VolDn | |-------| |-------| | | | |M_ZOOM |M_PYNV| + * | |M_SHFT| | Prev |VolDn | |-------| |-------| | M | | | |M_PYNV| * `------------------------------------------/ / \ \------------------------------------------' * | | | | / / \ \ | |M_CODE| | * | | | |/ / \ \ | | | | @@ -100,9 +100,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_LOWER] = LAYOUT_wrapper( \ _____________________FUNC_LEFT______________________, _____________________FUNC_RIGHT_____________________, \ - _______, _______, _________MEDIA_1_________, _______, _______________NAV_1______________, _______, K_MDSH, \ - _______, _______, _________MEDIA_2_________, _______, _______________NAV_2______________, K_LOCK, _______, \ - M_SHFT, _______, _________MEDIA_3_________, _______, _______, _______, _______, _______, _______, _______, M_ZOOM, M_PYNV, \ + M_XXX2, M_XXX3, _________MEDIA_1_________, _______, _______________NAV_1______________, _______, K_MDSH, \ + M_XXX4, M_XXX5, _________MEDIA_2_________, _______, _______________NAV_2______________, K_LOCK, _______, \ + _______, M_SHFT, _________MEDIA_3_________, _______, _______, _______, _______, KC_M, _______, _______, M_XXX1, M_PYNV, \ __________________________________, _______, _______, M_CODE, _______ \ ), diff --git a/keyboards/pinky/3/keymaps/ninjonas/README.md b/keyboards/pinky/3/keymaps/ninjonas/README.md index 4546b164c7..d47fdd995b 100644 --- a/keyboards/pinky/3/keymaps/ninjonas/README.md +++ b/keyboards/pinky/3/keymaps/ninjonas/README.md @@ -58,7 +58,7 @@ More information about the Pinky3 keyboard can be found [here](https://github.co |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | | | | BriDn| Next| VolUp| | | | PgDn| Left| Down| Right| K_LOCK| | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| -| M_SHFT| | | | Prev| VolDn| | | | | | | | M_ZOOM| M_PYNV| +| M_SHFT| | | | Prev| VolDn| | | | | | | | | M_PYNV| `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' | | | | | | | | M_CODE| | `---------------------------------------' `---------------------------------------' diff --git a/keyboards/pinky/3/keymaps/ninjonas/keymap.c b/keyboards/pinky/3/keymaps/ninjonas/keymap.c index d2cca16657..b7d9f2fa75 100644 --- a/keyboards/pinky/3/keymaps/ninjonas/keymap.c +++ b/keyboards/pinky/3/keymaps/ninjonas/keymap.c @@ -61,11 +61,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT_wrapper( //,---------------------------------------------------------------------. ,---------------------------------------------------------------------. - XXXXXXX, XXXXXXX, _________MEDIA_1_________, XXXXXXX, K_CSCN, XXXXXXX, _______________NAV_1______________, XXXXXXX, K_MDSH, + M_XXX2, M_XXX3, _________MEDIA_1_________, XXXXXXX, K_CSCN, XXXXXXX, _______________NAV_1______________, XXXXXXX, K_MDSH, //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| - XXXXXXX, XXXXXXX, _________MEDIA_2_________, XXXXXXX, XXXXXXX, XXXXXXX, _______________NAV_2______________, K_LOCK, XXXXXXX, + M_XXX4, M_XXX5, _________MEDIA_2_________, XXXXXXX, XXXXXXX, XXXXXXX, _______________NAV_2______________, K_LOCK, XXXXXXX, //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| - M_SHFT, XXXXXXX, _________MEDIA_3_________, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, M_ZOOM, M_PYNV, + XXXXXXX, M_SHFT, _________MEDIA_3_________, XXXXXXX, _______, _______, XXXXXXX, KC_M, XXXXXXX, XXXXXXX, M_XXX1, M_PYNV, //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| __________________________________, _______, _______, M_CODE, _______ //`---------------------------------------' `---------------------------------------' |