blob: f2fc8f2fb1626f0fa7dcf268811b5f412529e8c3 (
plain)
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
|
#include "common/keyboard.h"
#include "platform/wayland/keymap.h"
#include "platform/x11/keymap.h"
#include "platform/cocoa/keymap.h"
#include "platform/cocoa/keycodes.h"
#include <assert.h>
int main(void)
{
/* Same physical positions across native encodings, including keypad and
* left/right modifiers. macOS A is code zero, which is not UNKNOWN. */
assert(yasl_key_from_evdev(30) == YASL_KEY_A);
assert(yasl_key_from_cocoa(kVK_ANSI_A) == YASL_KEY_A);
assert(yasl_key_from_xkb_name("AC01") == YASL_KEY_A);
assert(yasl_key_from_evdev(1) == YASL_KEY_ESCAPE);
assert(yasl_key_from_cocoa(kVK_Escape) == YASL_KEY_ESCAPE);
assert(yasl_key_from_xkb_name("ESC\0") == YASL_KEY_ESCAPE);
assert(yasl_key_from_evdev(96) == YASL_KEY_KP_ENTER);
assert(yasl_key_from_cocoa(kVK_ANSI_KeypadEnter) == YASL_KEY_KP_ENTER);
assert(yasl_key_from_cocoa(kVK_Return) == YASL_KEY_ENTER);
assert(yasl_key_from_evdev(100) == YASL_KEY_RIGHT_ALT);
assert(yasl_key_from_cocoa(kVK_RightOption) == YASL_KEY_RIGHT_ALT);
assert(yasl_key_from_evdev(42) == YASL_KEY_LEFT_SHIFT);
assert(yasl_key_from_cocoa(kVK_Shift) == YASL_KEY_LEFT_SHIFT);
assert(yasl_key_from_evdev(86) == YASL_KEY_ISO_BACKSLASH);
assert(yasl_key_from_cocoa(kVK_ISO_Section) == YASL_KEY_ISO_BACKSLASH);
assert(yasl_key_from_evdev(0) == YASL_KEY_UNKNOWN);
assert(yasl_key_from_evdev(UINT32_MAX) == YASL_KEY_UNKNOWN);
assert(yasl_key_from_cocoa(UINT32_MAX) == YASL_KEY_UNKNOWN);
assert(yasl_key_from_xkb_name("ZZZZ") == YASL_KEY_UNKNOWN);
assert(yasl_key_label(0x1f600) == 0x1f600);
assert(yasl_key_label(0xd800) == 0 && yasl_key_label(0x110000) == 0);
assert(yasl_key_label(0xf700) == 0 && yasl_key_label('\t') == 0);
return 0;
}
|