1
0
Fork 0

format code according to conventions [skip ci]

This commit is contained in:
QMK Bot 2020-03-13 18:44:56 +00:00
parent 9e8767917d
commit 5e98eaaaff
5 changed files with 107 additions and 108 deletions

View file

@ -43,4 +43,3 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
} }
return MACRO_NONE; return MACRO_NONE;
}; };

View file

@ -17,8 +17,8 @@
#include "test_common.hpp" #include "test_common.hpp"
using testing::_; using testing::_;
using testing::Return;
using testing::InSequence; using testing::InSequence;
using testing::Return;
class KeyPress : public TestFixture {}; class KeyPress : public TestFixture {};
@ -125,116 +125,116 @@ TEST_F(KeyPress, RightShiftLeftControlAndCharWithTheSameKey) {
} }
TEST_F(KeyPress, PressPlusEqualReleaseBeforePress) { TEST_F(KeyPress, PressPlusEqualReleaseBeforePress) {
TestDriver driver; TestDriver driver;
InSequence s; InSequence s;
press_key(1, 1); // KC_PLUS press_key(1, 1); // KC_PLUS
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT)));
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL)));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
release_key(1, 1); // KC_PLUS release_key(1, 1); // KC_PLUS
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT)));
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport()));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
press_key(0, 1); // KC_EQL press_key(0, 1); // KC_EQL
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_EQL))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_EQL)));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
release_key(0, 1); // KC_EQL release_key(0, 1); // KC_EQL
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport()));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
} }
TEST_F(KeyPress, PressPlusEqualDontReleaseBeforePress) { TEST_F(KeyPress, PressPlusEqualDontReleaseBeforePress) {
TestDriver driver; TestDriver driver;
InSequence s; InSequence s;
press_key(1, 1); // KC_PLUS press_key(1, 1); // KC_PLUS
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT)));
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL)));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
press_key(0, 1); // KC_EQL press_key(0, 1); // KC_EQL
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport()));
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_EQL))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_EQL)));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
release_key(1, 1); //KC_PLS release_key(1, 1); // KC_PLS
// BUG: Should really still return KC_EQL, but this is fine too // BUG: Should really still return KC_EQL, but this is fine too
// It's also called twice for some reason // It's also called twice for some reason
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(2); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(2);
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
release_key(0, 1); // KC_EQL release_key(0, 1); // KC_EQL
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport()));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
} }
TEST_F(KeyPress, PressEqualPlusReleaseBeforePress) { TEST_F(KeyPress, PressEqualPlusReleaseBeforePress) {
TestDriver driver; TestDriver driver;
InSequence s; InSequence s;
press_key(0, 1); // KC_EQL press_key(0, 1); // KC_EQL
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_EQL))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_EQL)));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
release_key(0, 1); // KQ_EQL release_key(0, 1); // KQ_EQL
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport()));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
press_key(1, 1); // KC_PLUS press_key(1, 1); // KC_PLUS
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT)));
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL)));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
release_key(1, 1); // KC_PLUS release_key(1, 1); // KC_PLUS
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT)));
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport()));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
} }
TEST_F(KeyPress, PressEqualPlusDontReleaseBeforePress) { TEST_F(KeyPress, PressEqualPlusDontReleaseBeforePress) {
TestDriver driver; TestDriver driver;
InSequence s; InSequence s;
press_key(0, 1); // KC_EQL press_key(0, 1); // KC_EQL
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_EQL))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_EQL)));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
press_key(1, 1); // KC_PLUS press_key(1, 1); // KC_PLUS
// BUG: The sequence is a bit strange, but it works, the end result is that // BUG: The sequence is a bit strange, but it works, the end result is that
// KC_PLUS is sent // KC_PLUS is sent
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL)));
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT)));
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_EQL)));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
release_key(0, 1); //KC_EQL release_key(0, 1); // KC_EQL
// I guess it's fine to still report shift here // I guess it's fine to still report shift here
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT)));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
release_key(1, 1); // KC_PLUS release_key(1, 1); // KC_PLUS
// This report is not needed // This report is not needed
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT)));
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport()));
run_one_scan_loop(); run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver); testing::Mock::VerifyAndClearExpectations(&driver);
} }

View file

@ -758,8 +758,8 @@ void register_code(uint8_t code) {
// without this, keys with the same keycode, but different // without this, keys with the same keycode, but different
// modifiers will be reported incorrectly, see issue #1708 // modifiers will be reported incorrectly, see issue #1708
if (is_key_pressed(keyboard_report, code)) { if (is_key_pressed(keyboard_report, code)) {
del_key(code); del_key(code);
send_keyboard_report(); send_keyboard_report();
} }
add_key(code); add_key(code);
send_keyboard_report(); send_keyboard_report();

View file

@ -74,24 +74,24 @@ uint8_t get_first_key(report_keyboard_t* keyboard_report) {
* Note: The function doesn't support modifers currently, and it returns false for KC_NO * Note: The function doesn't support modifers currently, and it returns false for KC_NO
*/ */
bool is_key_pressed(report_keyboard_t* keyboard_report, uint8_t key) { bool is_key_pressed(report_keyboard_t* keyboard_report, uint8_t key) {
if (key == KC_NO) { if (key == KC_NO) {
return false; return false;
} }
#ifdef NKRO_ENABLE #ifdef NKRO_ENABLE
if (keyboard_protocol && keymap_config.nkro) { if (keyboard_protocol && keymap_config.nkro) {
if ((key>>3) < KEYBOARD_REPORT_BITS) { if ((key >> 3) < KEYBOARD_REPORT_BITS) {
return keyboard_report->nkro.bits[key>>3] & 1<<(key&7); return keyboard_report->nkro.bits[key >> 3] & 1 << (key & 7);
} else { } else {
return false; return false;
}
} }
}
#endif #endif
for (int i=0; i < KEYBOARD_REPORT_KEYS; i++) { for (int i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
if (keyboard_report->keys[i] == key) { if (keyboard_report->keys[i] == key) {
return true; return true;
} }
} }
return false; return false;
} }
/** \brief add key byte /** \brief add key byte

View file

@ -237,7 +237,7 @@ static inline uint16_t KEYCODE2CONSUMER(uint8_t key) {
uint8_t has_anykey(report_keyboard_t* keyboard_report); uint8_t has_anykey(report_keyboard_t* keyboard_report);
uint8_t get_first_key(report_keyboard_t* keyboard_report); uint8_t get_first_key(report_keyboard_t* keyboard_report);
bool is_key_pressed(report_keyboard_t* keyboard_report, uint8_t key); bool is_key_pressed(report_keyboard_t* keyboard_report, uint8_t key);
void add_key_byte(report_keyboard_t* keyboard_report, uint8_t code); void add_key_byte(report_keyboard_t* keyboard_report, uint8_t code);
void del_key_byte(report_keyboard_t* keyboard_report, uint8_t code); void del_key_byte(report_keyboard_t* keyboard_report, uint8_t code);