1 /* Gnome Music Player Client (GMPC)
2 * Copyright (C) 2004-2009 Qball Cow <qball@sarine.nl>
3 * Project homepage: http://gmpc.wikia.com/
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #ifndef __PLAYLIST3_KEYBINDINGS_H__
21 #define __PLAYLIST3_KEYBINDINGS_H__
26 #define KB_GLOBAL "keybindings-keycode-global"
27 #define MK_GLOBAL "keybindings-mask-global"
28 #define AC_GLOBAL "keybindings-action"
30 typedef enum _KeybindAction
{
35 KB_ACTION_CLEAR_PLAYLIST
,
36 KB_ACTION_FULL_ADD_PLAYLIST
,
37 KB_ACTION_INTERFACE_COLLAPSE
,
38 KB_ACTION_INTERFACE_EXPAND
,
44 KB_ACTION_TOGGLE_MUTE
,
45 KB_ACTION_SINGLE_MODE
,
50 /** Some default keybindings */
51 typedef enum _Keybind
{
58 KB_INTERFACE_COLLAPSE_KP
,
59 KB_INTERFACE_EXPAND_KP
,
60 KB_INTERFACE_COLLAPSE
,
76 const char *Keybindname
[KB_NUM
] = {
83 "Interface Collapse Keypad",
84 "Interface Expand Keypad",
98 int KeybindingDefault
[KB_NUM
][3] = {
99 {GDK_Up
, GDK_CONTROL_MASK
, KB_ACTION_PLAY
}, // KB_PLAY
100 {GDK_Right
, GDK_CONTROL_MASK
, KB_ACTION_NEXT
}, // KB_NEXT
101 {GDK_Left
, GDK_CONTROL_MASK
, KB_ACTION_PREV
}, // KB_PREV
102 {GDK_Down
, GDK_CONTROL_MASK
, KB_ACTION_STOP
}, // KB_STOP
103 {GDK_Delete
, GDK_CONTROL_MASK
|GDK_SHIFT_MASK
, KB_ACTION_CLEAR_PLAYLIST
}, // KB_CLEAR_PLAYLIST
104 {GDK_Insert
, GDK_CONTROL_MASK
|GDK_SHIFT_MASK
, KB_ACTION_FULL_ADD_PLAYLIST
}, // KB_ADD PLAYLIST
105 {GDK_KP_Subtract
, 0, KB_ACTION_INTERFACE_COLLAPSE
}, // KB_INTERFACE_COLLAPSE_KP
106 {GDK_KP_Add
, 0 , KB_ACTION_INTERFACE_EXPAND
}, // KB_INTERFACE_EXPAND_KP
107 {GDK_minus
, GDK_CONTROL_MASK
, KB_ACTION_INTERFACE_COLLAPSE
}, // KB_INTERFACE_COLLAPSE
108 {GDK_plus
, GDK_CONTROL_MASK
|GDK_SHIFT_MASK
, KB_ACTION_INTERFACE_EXPAND
}, // KB_INTERFACE_EXPAND
109 {GDK_w
, GDK_CONTROL_MASK
, KB_ACTION_CLOSE
}, // KB_CLOSE
110 {GDK_q
, GDK_CONTROL_MASK
, KB_ACTION_QUIT
}, // KB_QUIT
111 {GDK_F12
, 0, KB_ACTION_FULLSCREEN
}, // KB_FULLSCREEN
112 {GDK_r
, GDK_CONTROL_MASK
, KB_ACTION_REPEAT
}, // KB_REPEAT
113 {GDK_s
, GDK_CONTROL_MASK
, KB_ACTION_RANDOM
}, // KB_RANDOM
114 {GDK_m
, GDK_CONTROL_MASK
, KB_ACTION_TOGGLE_MUTE
}, // KB_TOGGLE_MUTE
115 {GDK_k
, GDK_CONTROL_MASK
, KB_ACTION_SINGLE_MODE
}, // KB_SINGLE_MODE
116 {GDK_l
, GDK_CONTROL_MASK
, KB_ACTION_CONSUME
}, // KB_CONSUME
117 {GDK_Right
, GDK_CONTROL_MASK
|GDK_SHIFT_MASK
, KB_ACTION_FF
}, // KB_FF
118 {GDK_Left
, GDK_CONTROL_MASK
|GDK_SHIFT_MASK
, KB_ACTION_REW
} // KB_REW