summary refs log tree commit diff stats
path: root/config/charybdis.keymap
blob: b8e12494101c68b726cb17fae075e14f6a188782 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/ext_power.h>
#include <dt-bindings/zmk/mouse.h>
#include <dt-bindings/zmk/outputs.h>

/ {
    trackball_listener {
        compatible = "zmk,input-behavior-listener";
        device = <&vtrackball>;
        layers = <0>;
        evt-type = <INPUT_EV_REL>;
        x-input-code = <INPUT_REL_X>;
        y-input-code = <INPUT_REL_Y>;
        scale-multiplier = <1>;
        scale-divisor = <8>;
    };

    trackball_snipe_listener {
        compatible = "zmk,input-behavior-listener";   
        device = <&vtrackball>;
        layers = <>;
        evt-type = <INPUT_EV_REL>;
        x-input-code = <INPUT_REL_X>;
        y-input-code = <INPUT_REL_Y>;
        scale-multiplier = <1>;
        scale-divisor = <16>;
    };

    trackball_scroll_listener {
        compatible = "zmk,input-behavior-listener";
        device = <&vtrackball>;
        layers = <1>;
        evt-type = <INPUT_EV_REL>;            
        x-input-code = <INPUT_REL_MISC>;
        y-input-code = <INPUT_REL_WHEEL>;
        y-invert;
        bindings = <&ib_wheel_scaler 1 8>;
    };

    ib_wheel_scaler: ib_wheel_scaler {
        compatible = "zmk,input-behavior-scaler";
        #binding-cells = <2>;
        evt-type = <INPUT_EV_REL>;
        input-code = <INPUT_REL_WHEEL>;
    };

    behaviors {
        lt: layer_tap {
            compatible = "zmk,behavior-hold-tap";
            #binding-cells = <2>;
            flavor = "balanced";
            tapping-term-ms = <240>;
            quick-tap-ms = <150>;
            bindings = 
                <&mo>,
                <&kp>;
        };
    };

    keymap {
        compatible = "zmk,keymap";

        Base {
            label = "Base";
            bindings = <
  &kp TAB  &kp Q  &kp W      &kp E      &kp R  &kp T    &kp Y    &kp U      &kp I    &kp O     &kp P    &kp BSPC
  &kp ESC  &kp A  &kp S      &kp D      &kp F  &kp G    &kp H    &kp J      &kp K    &kp L  &kp SEMI    &kp APOS
&kp LSHFT  &kp Z  &kp X      &kp C      &kp V  &kp B    &kp N    &kp M  &kp COMMA  &kp DOT  &kp FSLH  &kp RSHIFT
                         &kp LCTRL  &kp SPACE  &mo 1    &mo 2  &kp RET
            >;
        };

        Lower {
            label = "Lower";
            bindings = <
      &trans    &trans    &kp UP     &trans     &trans    &trans       &kp N7   &kp N8  &kp N9   &kp N0  &kp HOME   &kp F1
      &trans  &kp LEFT  &kp DOWN  &kp RIGHT     &trans    &trans       &kp N4   &kp N5  &kp N6    &none    &trans  &kp F10
&kp LEFT_ALT    &trans    &trans     &trans  &kp MINUS  &kp PLUS       &kp N1   &kp N2  &kp N3  &kp DOT    &trans  &kp F20
                                   &kp LGUI  &kp SPACE    &trans    &kp RCTRL  &kp RET
            >;
        };

        Raise {
            label = "Raise";
            bindings = <
&trans      &kp EXCL       &kp AT    &kp HASH   &kp DLLR     &kp PRCNT    &kp CARET   &kp AMPS  &kp KP_MULTIPLY  &kp LPAR  &kp RPAR    &kp DEL
&trans    &bt BT_CLR   &bt BT_PRV  &bt BT_NXT     &trans         &to 3    &kp UNDER  &kp EQUAL         &kp LBKT  &kp RBKT  &kp BSLH  &kp GRAVE
&trans  &out OUT_TOG  &bootloader      &trans     &trans        &trans    &kp MINUS   &kp PLUS         &kp LBRC  &kp RBRC  &kp PIPE  &kp TILDE
                                     &kp LGUI  &kp SPACE  &kp LEFT_ALT       &trans    &bootloader
            >;
        };

        Game {
            label = "Game";
            bindings = <
&trans  &trans  &trans  &trans  &trans        &trans      &trans  &trans  &trans  &trans  &trans  &trans
&trans  &trans  &trans  &trans  &trans         &sl 4      &trans  &trans  &trans  &trans  &trans  &trans
&trans  &trans  &trans  &trans  &trans        &trans      &trans  &trans  &trans  &trans  &trans   &to 0
                        &trans  &trans  &kp LEFT_ALT    &kp RGUI  &trans
            >;
        };

        Game_++ {
            label = "Game ++";
            bindings = <
 &kt F5  &kp NUMBER_1  &kp NUMBER_2  &kp NUMBER_3  &kp NUMBER_4  &kp NUMBER_5    &kp LC(RA(Y))  &kp LC(RA(U))  &kp LC(RA(I))  &kp LC(RA(H))  &kp LC(RA(J))  &kp LC(RA(DEL))
  &to 3         &kp L         &kp O         &kp Y         &kp K         &kp G           &trans         &trans         &trans         &trans         &trans       &kp LA(F4)
&kp F10         &none         &to 0         &none  &kp NUMBER_6  &kp NUMBER_7           &trans         &trans         &trans         &trans         &trans            &to 0
                                            &kp J         &kp I         &kp M           &trans         &trans
            >;
        };

        Mouse {
            bindings = <
   &trans  &trans  &trans     &trans  &trans     &trans    &trans  &trans  &trans  &trans  &trans     &trans
   &trans  &trans  &trans     &trans  &trans     &trans    &trans  &trans  &trans  &trans  &trans     &trans
&mkp MCLK  &trans  &trans     &trans  &trans     &trans    &trans  &trans  &trans  &trans  &trans  &mkp LCLK
                           &mkp LCLK  &trans  &mkp RCLK    &trans  &trans
            >;
        };
    };
};