libxputty 0.1
Loading...
Searching...
No Matches
xkeyboard.h
Go to the documentation of this file.
1/*
2 * 0BSD
3 *
4 * BSD Zero Clause License
5 *
6 * Copyright (c) 2019 Hermann Meyer
7 *
8 * Permission to use, copy, modify, and/or distribute this software for any
9 * purpose with or without fee is hereby granted.
10
11 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
12 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
13 * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
14 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
16 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17 * PERFORMANCE OF THIS SOFTWARE.
18 *
19 */
20
21#pragma once
22
23#ifndef XMIDI_KEYBOARD_H_
24#define XMIDI_KEYBOARD_H_
25
26#include "xwidgets.h"
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32
33typedef void (*midikeyfunc)(Widget_t *w, const int *key, const int on_off);
34typedef void (*midiwheelfunc)(Widget_t *w, const int *value);
35
60
61void keysym_azerty_to_midi_key(long inkey, float *midi_key);
62
63void keysym_azerty_fr_to_midi_key(long inkey, float *midi_key);
64
65void keysym_azerty_be_to_midi_key(long inkey, float *midi_key);
66
67void keysym_azerty_afnor_to_midi_key(long inkey, float *midi_key);
68
69void keysym_qwertz_to_midi_key(long inkey, float *midi_key);
70
71void keysym_qwerty_to_midi_key(unsigned int inkey, float *midi_key);
72
73void custom_to_midi_key(long custom_keys[128][2], long inkey, float *midi_key);
74
75void read_keymap(const char* keymapfile, long keys[128][2]);
76
77void set_key_in_matrix(unsigned long *key_matrix, int key, bool set);
78
79bool is_key_in_matrix(unsigned long *key_matrix, int key);
80
81bool have_key_in_matrix(unsigned long *key_matrix);
82
83void clear_key_matrix(unsigned long *key_matrix);
84
85void add_keyboard(Widget_t *wid, const char * label);
86
87Widget_t *open_midi_keyboard(Widget_t *w, const char * label);
88
89Widget_t *add_midi_keyboard(Widget_t *parent, const char * label,
90 int x, int y, int width, int height);
91
92bool need_redraw(MidiKeyboard *keys);
93
94#ifdef __cplusplus
95}
96#endif
97
98#endif //XMIDI_KEYBOARD_H_
int prelight_key
Definition xkeyboard.h:44
Widget_t * context_menu
Definition xkeyboard.h:37
int new_active_key
Definition xkeyboard.h:47
int last_active_key
Definition xkeyboard.h:48
midiwheelfunc mk_send_all_sound_off
Definition xkeyboard.h:58
Widget_t * grab_keyboard
Definition xkeyboard.h:39
int new_prelight_key
Definition xkeyboard.h:45
Widget_t * keyboard
Definition xkeyboard.h:38
midikeyfunc mk_send_note
Definition xkeyboard.h:57
Widget_t - struct to hold the basic Widget_t info.
Definition xwidget.h:457
void keysym_qwerty_to_midi_key(unsigned int inkey, float *midi_key)
Definition xkeyboard.c:266
bool is_key_in_matrix(unsigned long *key_matrix, int key)
Definition xkeyboard.c:305
void add_keyboard(Widget_t *wid, const char *label)
Definition xkeyboard.c:923
void clear_key_matrix(unsigned long *key_matrix)
Definition xkeyboard.c:353
void read_keymap(const char *keymapfile, long keys[128][2])
Definition xkeyboard.c:878
Widget_t * add_midi_keyboard(Widget_t *parent, const char *label, int x, int y, int width, int height)
Definition xkeyboard.c:906
void keysym_azerty_to_midi_key(long inkey, float *midi_key)
Definition xkeyboard.c:24
void keysym_qwertz_to_midi_key(long inkey, float *midi_key)
Definition xkeyboard.c:199
Widget_t * open_midi_keyboard(Widget_t *w, const char *label)
Definition xkeyboard.c:915
void(* midikeyfunc)(Widget_t *w, const int *key, const int on_off)
Definition xkeyboard.h:33
void set_key_in_matrix(unsigned long *key_matrix, int key, bool set)
Definition xkeyboard.c:285
void custom_to_midi_key(long custom_keys[128][2], long inkey, float *midi_key)
Definition xkeyboard.c:272
void keysym_azerty_fr_to_midi_key(long inkey, float *midi_key)
Definition xkeyboard.c:76
bool need_redraw(MidiKeyboard *keys)
Definition xkeyboard.c:830
void(* midiwheelfunc)(Widget_t *w, const int *value)
Definition xkeyboard.h:34
void keysym_azerty_be_to_midi_key(long inkey, float *midi_key)
Definition xkeyboard.c:117
bool have_key_in_matrix(unsigned long *key_matrix)
Definition xkeyboard.c:336
void keysym_azerty_afnor_to_midi_key(long inkey, float *midi_key)
Definition xkeyboard.c:158
xwidgets.h include some predefined widgets for libxputty, include this to use them if you would only ...