LiVES 3.2.0
keyboard.h
Go to the documentation of this file.
1// keyboard.h
2// LiVES
3// (c) G. Finch 2004 - 2016 <salsaman+lives@gmail.com>
4// see file ../COPYING for licensing details
5
6#define LIVES_XEVENT_TYPE_KEYPRESS 2
7#define LIVES_XEVENT_TYPE_KEYRELEASE 3
8
9// repeating keys
10uint16_t cached_key;
11uint16_t cached_mod;
12
13// these keys should be cached on a key down and sent every time until a key up
14#define key_left 100
15#define key_left2 113
16#define key_right 102
17#define key_right2 114
18#define key_up 98
19#define key_up2 111
20#define key_down 104
21#define key_down2 116
22
23boolean key_press_or_release(LiVESWidget *, LiVESXEventKey *, livespointer);
24
25boolean ext_triggers_poll(livespointer);
26
27/* #if defined HAVE_X11 */
28/* LiVESFilterReturn filter_func(LiVESXXEvent *xevent, LiVESXEvent *event, livespointer data); ///< unused ? */
29/* #endif */
30
31void handle_cached_keys(void);
32
33boolean pl_key_function(boolean down, uint16_t unicode, uint16_t keymod);
34
36
37boolean faster_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
38
39boolean slower_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
40
41boolean more_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
42
43boolean less_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
44
45boolean skip_back_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
46
47boolean skip_forward_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
48
49boolean stop_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
50
51boolean rec_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
52
53boolean loop_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
54
55boolean loop_cont_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
56
57boolean ping_pong_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
58
59boolean dblsize_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
60
61boolean showfct_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
62
63boolean showsubs_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
64
65boolean fullscreen_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
66
67boolean sepwin_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
68
69boolean fade_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
70
71boolean volup_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
72boolean voldown_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data);
73
74#define EXT_TRIGGER_INTERVAL 4 // polling time for osc / midi / joystick etc. (milliseconds)
75
76#define KEY_RPT_INTERVAL 40 // repeat rate for cached keys (ctrl-left, ctrl-right, ctrl-up, ctrl-down) (milliseconds)
77
79/* can be over-ridden in prefs */
80#define DEF_MIDI_CHECK_RATE 1000
81
83#define DEF_MIDI_RPT 1000
boolean less_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:368
boolean key_press_or_release(LiVESWidget *, LiVESXEventKey *, livespointer)
wrapper for pl_key_function
Definition: keyboard.c:134
boolean volup_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:414
boolean more_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:387
boolean voldown_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:423
boolean ping_pong_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:460
boolean fade_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:467
boolean dblsize_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:495
boolean showsubs_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:481
uint16_t cached_mod
Definition: keyboard.h:11
boolean ext_triggers_poll(livespointer)
poll for external playback start
Definition: keyboard.c:67
boolean faster_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:377
boolean sepwin_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:446
boolean loop_cont_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:453
boolean showfct_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:474
boolean stop_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:432
boolean rec_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:502
boolean slower_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:358
boolean loop_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:488
boolean skip_back_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:396
boolean fullscreen_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:439
boolean pl_key_function(boolean down, uint16_t unicode, uint16_t keymod)
all funky stuff with keys
Definition: keyboard.c:151
uint16_t cached_key
Definition: keyboard.h:10
boolean skip_forward_callback(LiVESAccelGroup *, LiVESWidgetObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: keyboard.c:405
void handle_cached_keys(void)
smooth the key repeat for scratching
Definition: keyboard.c:141