Uses inputbox_keypress_cb to find hints.
[vimprobable2.git] / keymap.h
blob28320e48263ec368d9877d66c64ac051e3b54892
1 /*
2 (c) 2009 by Leon Winter
3 (c) 2009, 2010 by Hannes Schueller
4 (c) 2009, 2010 by Matto Fransen
5 (c) 2010 by Hans-Peter Deifel
6 (c) 2010 by Thomas Adam
7 see LICENSE file
8 */
9 #ifndef _KEYMAP
11 #define _KEYMAP
13 /* key bindings for normal mode
14 Note: GDK_VoidSymbol is a wildcard so it matches on every modkey
16 Key keys[] = {
17 /* modmask, modkey, key, function, argument */
18 { 0, GDK_q, GDK_1, quickmark, { .s = "1" } },
19 { 0, GDK_q, GDK_2, quickmark, { .s = "2" } },
20 { 0, GDK_q, GDK_3, quickmark, { .s = "3" } },
21 { 0, GDK_q, GDK_4, quickmark, { .s = "4" } },
22 { 0, GDK_q, GDK_5, quickmark, { .s = "5" } },
23 { 0, GDK_q, GDK_6, quickmark, { .s = "6" } },
24 { 0, GDK_q, GDK_7, quickmark, { .s = "7" } },
25 { 0, GDK_q, GDK_8, quickmark, { .s = "8" } },
26 { 0, GDK_q, GDK_9, quickmark, { .s = "9" } },
27 { 0, 0, GDK_0, scroll, {ScrollJumpTo | DirectionLeft} },
28 { GDK_SHIFT_MASK, 0, GDK_dollar, scroll, {ScrollJumpTo | DirectionRight} },
29 { 0, GDK_g, GDK_g, scroll, {ScrollJumpTo | DirectionTop} },
30 { GDK_SHIFT_MASK, 0, GDK_G, scroll, {ScrollJumpTo | DirectionBottom} },
31 { 0, 0, GDK_h, scroll, {ScrollMove | DirectionLeft | UnitLine} },
32 { 0, 0, GDK_j, scroll, {ScrollMove | DirectionBottom | UnitLine} },
33 { 0, 0, GDK_k, scroll, {ScrollMove | DirectionTop | UnitLine} },
34 { 0, 0, GDK_l, scroll, {ScrollMove | DirectionRight | UnitLine} },
35 { 0, 0, GDK_space, scroll, {ScrollMove | DirectionBottom | UnitPage} },
36 { GDK_SHIFT_MASK, 0, GDK_space, scroll, {ScrollMove | DirectionTop | UnitPage} },
37 { GDK_CONTROL_MASK, 0, GDK_b, scroll, {ScrollMove | DirectionTop | UnitPage} },
38 { GDK_CONTROL_MASK, 0, GDK_f, scroll, {ScrollMove | DirectionBottom | UnitPage} },
39 { GDK_CONTROL_MASK, 0, GDK_d, scroll, {ScrollMove | DirectionBottom | UnitBuffer} },
40 { GDK_CONTROL_MASK, 0, GDK_u, scroll, {ScrollMove | DirectionTop | UnitBuffer} },
41 { GDK_CONTROL_MASK, 0, GDK_e, scroll, {ScrollMove | DirectionBottom | UnitLine} },
42 { GDK_CONTROL_MASK, 0, GDK_y, scroll, {ScrollMove | DirectionTop | UnitLine} },
44 { 0, GDK_g, GDK_t, fake_key_event, { .s = "l", .i = ShiftMask + ControlMask } },
45 { GDK_SHIFT_MASK, GDK_g, GDK_T, fake_key_event, { .s = "h", .i = ShiftMask + ControlMask } },
46 { 0, GDK_g, GDK_1, fake_key_event, { .s = "1", .i = ControlMask } },
47 { 0, GDK_g, GDK_2, fake_key_event, { .s = "2", .i = ControlMask } },
48 { 0, GDK_g, GDK_3, fake_key_event, { .s = "3", .i = ControlMask } },
49 { 0, GDK_g, GDK_4, fake_key_event, { .s = "4", .i = ControlMask } },
50 { 0, GDK_g, GDK_5, fake_key_event, { .s = "5", .i = ControlMask } },
51 { 0, GDK_g, GDK_6, fake_key_event, { .s = "6", .i = ControlMask } },
52 { 0, GDK_g, GDK_7, fake_key_event, { .s = "7", .i = ControlMask } },
53 { 0, GDK_g, GDK_8, fake_key_event, { .s = "8", .i = ControlMask } },
54 { 0, GDK_g, GDK_9, fake_key_event, { .s = "9", .i = ControlMask } },
55 { 0, GDK_g, GDK_0, fake_key_event, { .s = "0", .i = ControlMask } },
57 { GDK_CONTROL_MASK, 0, GDK_i, navigate, {NavigationBack} },
58 { GDK_CONTROL_MASK, 0, GDK_o, navigate, {NavigationForward} },
59 { GDK_SHIFT_MASK, 0, GDK_H, navigate, {NavigationBack} },
60 { GDK_SHIFT_MASK, 0, GDK_L, navigate, {NavigationForward} },
61 { 0, 0, GDK_r, navigate, {NavigationReload} },
62 { GDK_SHIFT_MASK, 0, GDK_R, navigate, {NavigationForceReload} },
63 { GDK_CONTROL_MASK, 0, GDK_c, navigate, {NavigationCancel} },
65 { 0, 0, GDK_plus, zoom, {ZoomIn | ZoomText} },
66 { 0, 0, GDK_minus, zoom, {ZoomOut | ZoomText} },
67 { 0, 0, GDK_KP_Add, zoom, {ZoomIn | ZoomText} },
68 { 0, 0, GDK_KP_Subtract,zoom, {ZoomOut | ZoomText} },
69 { 0, GDK_z, GDK_i, zoom, {ZoomIn | ZoomText} },
70 { 0, GDK_z, GDK_o, zoom, {ZoomOut | ZoomText} },
71 { 0, GDK_z, GDK_z, zoom, {ZoomReset | ZoomText} },
72 { GDK_SHIFT_MASK, GDK_z, GDK_I, zoom, {ZoomIn | ZoomFullContent} },
73 { GDK_SHIFT_MASK, GDK_z, GDK_O, zoom, {ZoomOut | ZoomFullContent} },
74 { GDK_SHIFT_MASK, GDK_z, GDK_Z, zoom, {ZoomReset | ZoomFullContent} },
76 { 0, 0, GDK_y, yank, {SourceURL | ClipboardPrimary | ClipboardGTK} },
77 { GDK_SHIFT_MASK, 0, GDK_Y, yank, {SourceSelection} },
79 { 0, GDK_g, GDK_u, descend, {NthSubdir} },
80 { GDK_SHIFT_MASK, GDK_g, GDK_U, descend, {Rootdir} },
82 { 0, GDK_g, GDK_h, open_arg, {TargetCurrent, startpage} },
83 { GDK_SHIFT_MASK, GDK_g, GDK_H, open_arg, {TargetNew, startpage} },
85 { 0, 0, GDK_p, paste, {TargetCurrent | ClipboardPrimary | ClipboardGTK} },
86 { GDK_SHIFT_MASK, 0, GDK_P, paste, {TargetNew | ClipboardPrimary | ClipboardGTK} },
88 { GDK_CONTROL_MASK, 0, GDK_a, number, {Increment} },
89 { GDK_CONTROL_MASK, 0, GDK_x, number, {Decrement} },
91 { 0, 0, GDK_n, search, {DirectionNext | CaseInsensitive | Wrapping} },
92 { GDK_SHIFT_MASK, 0, GDK_N, search, {DirectionPrev | CaseInsensitive | Wrapping} },
94 { GDK_SHIFT_MASK, 0, GDK_colon, input, {.s = ":" } },
95 { 0, 0, GDK_o, input, {.s = ":open "} },
96 { GDK_SHIFT_MASK, 0, GDK_O, input, {.s = ":open ", .i = InsertCurrentURL} },
97 { 0, 0, GDK_t, input, {.s = ":tabopen "} },
98 { GDK_SHIFT_MASK, 0, GDK_T, input, {.s = ":tabopen ", .i = InsertCurrentURL} },
99 { 0, 0, GDK_slash, input, {.s = "/"} },
100 { GDK_SHIFT_MASK, 0, GDK_slash, input, {.s = "/"} },
101 { 0, 0, GDK_KP_Divide, input, {.s = "/"} },
102 { GDK_SHIFT_MASK, 0, GDK_question, input, {.s = "?"} },
104 { 0, 0, GDK_quoteleft, input, {.s = "`"} },
106 { 0, GDK_VoidSymbol, GDK_Escape, set, {ModeNormal} },
107 { GDK_CONTROL_MASK, GDK_VoidSymbol, GDK_bracketleft,set, {ModeNormal} },
108 { GDK_CONTROL_MASK, 0, GDK_z, set, {ModePassThrough} },
109 { GDK_CONTROL_MASK, 0, GDK_v, set, {ModeSendKey} },
110 { 0, 0, GDK_f, set, { .i = ModeHints, .s = "current" } },
111 { GDK_SHIFT_MASK, 0, GDK_F, set, { .i = ModeHints, .s = "new" } },
113 { 0, GDK_g, GDK_i, focus_input,{} },
114 { 0, 0, GDK_u, revive, {} },
116 { 0, 0, GDK_d, quit, {0} },
117 /* leave this last line as last */
118 { 0, 0, 0, 0, {0} },
121 #endif