keyboard stuff
at master 54 lines 1.1 kB view raw
1// Copyright 2023 QMK 2// SPDX-License-Identifier: GPL-2.0-or-later 3 4#include "keyboard_report_util.hpp" 5#include "keycode.h" 6#include "test_common.hpp" 7#include "test_keymap_key.hpp" 8 9using testing::_; 10 11const uint32_t PROGMEM unicode_map[] = { 12 0x03A8, // Ψ 13 0x2318 // ⌘ 14}; 15 16class UnicodeMap : public TestFixture {}; 17 18TEST_F(UnicodeMap, sends_unicodemap_code_point_from_keycode) { 19 TestDriver driver; 20 21 auto key_um = KeymapKey(0, 0, 0, UM(0)); 22 23 set_keymap({key_um}); 24 25 EXPECT_UNICODE(driver, 0x03A8); 26 tap_key(key_um); 27 28 VERIFY_AND_CLEAR(driver); 29} 30 31TEST_F(UnicodeMap, sends_unicodemap_pair_from_keycode) { 32 TestDriver driver; 33 34 auto key_shift = KeymapKey(0, 0, 0, KC_LEFT_SHIFT); 35 auto key_up = KeymapKey(0, 1, 0, UP(0, 1)); 36 37 set_keymap({key_shift, key_up}); 38 39 EXPECT_UNICODE(driver, 0x03A8); 40 tap_key(key_up); 41 42 EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); 43 key_shift.press(); 44 run_one_scan_loop(); 45 46 EXPECT_UNICODE(driver, 0x2318); 47 tap_key(key_up); 48 49 EXPECT_NO_REPORT(driver); 50 key_shift.release(); 51 run_one_scan_loop(); 52 53 VERIFY_AND_CLEAR(driver); 54}