Skip to content

Commit

Permalink
feat: 自分用のkeymap作る
Browse files Browse the repository at this point in the history
  • Loading branch information
shotaCoffee committed Dec 9, 2024
1 parent 9ffe9f6 commit af04c94
Show file tree
Hide file tree
Showing 5 changed files with 159 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
tmp/
.idea
22 changes: 22 additions & 0 deletions qmk_firmware/keyboards/keyball/keyball39/keyball39.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,28 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-------------------------------------------------------------------
参考文献:
- リポジトリ:
https://github.com/kamiichi99/keyball/tree/main/qmk_firmware/keyboards/keyball/keyball39/keymaps/kamidai
- keyballの販売ページ
https://shirogane-lab.com/collections/all
コード表:
- 公式ファームウェアのキーコード:
KBC_RST(0x5DA5): Keyball 設定のリセット
KBC_SAVE(0x5DA6): 現在の Keyball 設定を EEPROM に保存します
CPI_I100(0x5DA7): CPI を 100 増加させます(最大:12000)
CPI_D100(0x5DA8): CPI を 100 減少させます(最小:100)
CPI_I1K(0x5DA9): CPI を 1000 増加させます(最大:12000)
CPI_D1K(0x5DAA): CPI を 1000 減少させます(最小:100)
SCRL_TO(0x5DAB): タップごとにスクロールモードの ON/OFF を切り替えます
SCRL_MO(0x5DAC): キーを押している間、スクロールモードになります
SCRL_DVI(0x5DAD): スクロール除数を1つ上げます(max D7 = 1/128)← 最もスクロール遅い
SCRL_DVD(0x5DAE): スクロール除数を1つ下げます(min D0 = 1/1)← 最もスクロール速い
- オリジナルのキーコード:
KC_BACK_TO_LAYER0_BTN1(0x5DAF): レイヤー0に遷移できるBTN1
KC_DOUBLE_CLICK_BTN1(0x5DB0): 1タップでダブルクリックできるBTN1
KC_TRIPLE_CLICK_BTN1(0x5DB1): 1タップでトリプルクリックできるBTN1
*/

#include QMK_KEYBOARD_H
Expand Down
39 changes: 39 additions & 0 deletions qmk_firmware/keyboards/keyball/keyball39/keymaps/myapp/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
This is the c configuration file for the keymap
Copyright 2022 @Yowkees
Copyright 2022 MURAOKA Taro (aka KoRoN, @kaoriya)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#ifdef RGBLIGHT_ENABLE
# define RGBLIGHT_EFFECT_BREATHING
# define RGBLIGHT_EFFECT_RAINBOW_MOOD
# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
# define RGBLIGHT_EFFECT_SNAKE
# define RGBLIGHT_EFFECT_KNIGHT
# define RGBLIGHT_EFFECT_CHRISTMAS
# define RGBLIGHT_EFFECT_STATIC_GRADIENT
# define RGBLIGHT_EFFECT_RGB_TEST
# define RGBLIGHT_EFFECT_ALTERNATING
# define RGBLIGHT_EFFECT_TWINKLE
#endif

#define TAP_CODE_DELAY 5

#define POINTING_DEVICE_AUTO_MOUSE_ENABLE
#define AUTO_MOUSE_DEFAULT_LAYER 1
94 changes: 94 additions & 0 deletions qmk_firmware/keyboards/keyball/keyball39/keymaps/myapp/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
/*
Copyright 2022 @Yowkees
Copyright 2022 MURAOKA Taro (aka KoRoN, @kaoriya)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

#include "quantum.h"

// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// keymap for default
[0] = LAYOUT_universal(
KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,
KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_MINS ,
KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH ,
KC_LCTL , KC_LGUI , KC_LALT ,LSFT_T(KC_LNG2),LT(1,KC_SPC),LT(3,KC_LNG1),KC_BSPC,LT(2,KC_ENT),LSFT_T(KC_LNG2),KC_RALT,KC_RGUI, KC_RSFT
),

[1] = LAYOUT_universal(
KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_RBRC , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 ,
KC_F5 , KC_EXLM , S(KC_6) ,S(KC_INT3), S(KC_8) , S(KC_INT1), KC_BTN1 , KC_PGUP , KC_BTN2 , KC_SCLN ,
S(KC_EQL),S(KC_LBRC),S(KC_7) , S(KC_2) ,S(KC_RBRC), KC_LBRC , KC_DLR , KC_PGDN , KC_BTN3 , KC_F11 ,
KC_INT1 , KC_EQL , S(KC_3) , _______ , _______ , _______ , TO(2) , TO(0) , _______ , KC_RALT , KC_RGUI , KC_F12
),

[2] = LAYOUT_universal(
KC_TAB , KC_7 , KC_8 , KC_9 , KC_MINS , KC_NUHS , _______ , KC_BTN3 , _______ , KC_BSPC ,
S(KC_QUOT), KC_4 , KC_5 , KC_6 ,S(KC_SCLN), S(KC_9) , KC_BTN1 , KC_UP , KC_BTN2 , KC_QUOT ,
KC_SLSH , KC_1 , KC_2 , KC_3 ,S(KC_MINS), S(KC_NUHS), KC_LEFT , KC_DOWN , KC_RGHT , _______ ,
KC_ESC , KC_0 , KC_DOT , KC_DEL , KC_ENT , KC_BSPC , _______ , _______ , _______ , _______ , _______ , _______
),

[3] = LAYOUT_universal(
RGB_TOG , AML_TO , AML_I50 , AML_D50 , _______ , _______ , _______ , SSNP_HOR , SSNP_VRT , SSNP_FRE ,
RGB_MOD , RGB_HUI , RGB_SAI , RGB_VAI , SCRL_DVI , _______ , _______ , _______ , _______ , _______ ,
RGB_RMOD , RGB_HUD , RGB_SAD , RGB_VAD , SCRL_DVD , CPI_D1K , CPI_D100 , CPI_I100 , CPI_I1K , KBC_SAVE ,
QK_BOOT , KBC_RST , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KBC_RST , QK_BOOT
),

[4] = LAYOUT_universal(
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
),

[5] = LAYOUT_universal(
_______ , _______ , _______ , _______ , _______ , _______ , SCRL_DVI , CPI_I100 , _______ , RGB_TOG ,
_______ , _______ , _______ , _______ , _______ , SCRL_DVD , CPI_D100 , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , KBC_RST , _______ , _______ , _______ , _______
),

[6] = LAYOUT_universal(
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
KC_LALT , KC_LSFT , _______ ,KC_MS_BTN1, _______ , _______ ,KC_MS_BTN1,KC_MS_BTN3,KC_MS_BTN2, _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
)
};
// clang-format on

layer_state_t layer_state_set_user(layer_state_t state) {
// Auto enable scroll mode when the highest layer is 3
// keyball_set_scroll_mode(get_highest_layer(state) == 3);
// 自動スクロール有効化
keyball_set_scroll_mode(get_highest_layer(state) == 1 || get_highest_layer(state) == 3);
return state;
}

#ifdef OLED_ENABLE

# include "lib/oledkit/oledkit.h"

void oledkit_render_info_user(void) {
keyball_oled_render_keyinfo();
keyball_oled_render_ballinfo();
keyball_oled_render_layerinfo();
}
#endif
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
RGBLIGHT_ENABLE = no

OLED_ENABLE = yes

0 comments on commit af04c94

Please sign in to comment.