diff --git a/ratbagd/ratbagd.c b/ratbagd/ratbagd.c index f9c1ef86..2fe6ef64 100644 --- a/ratbagd/ratbagd.c +++ b/ratbagd/ratbagd.c @@ -200,11 +200,14 @@ static const struct ratbag_test_device ratbagd_test_device_descr = { .profiles = { { .buttons = { - { .action_type = RATBAG_BUTTON_ACTION_TYPE_BUTTON, + { .button_type = RATBAG_BUTTON_TYPE_LEFT, + .action_type = RATBAG_BUTTON_ACTION_TYPE_BUTTON, .button = 0 }, - { .action_type = RATBAG_BUTTON_ACTION_TYPE_KEY, + { .button_type = RATBAG_BUTTON_TYPE_MIDDLE, + .action_type = RATBAG_BUTTON_ACTION_TYPE_KEY, .key = KEY_3 }, - { .action_type = RATBAG_BUTTON_ACTION_TYPE_SPECIAL, + { .button_type = RATBAG_BUTTON_TYPE_RIGHT, + .action_type = RATBAG_BUTTON_ACTION_TYPE_SPECIAL, .special = RATBAG_BUTTON_ACTION_SPECIAL_PROFILE_CYCLE_UP }, { .action_type = RATBAG_BUTTON_ACTION_TYPE_MACRO, .macro = { diff --git a/src/driver-test.c b/src/driver-test.c index 64fac0f7..e86b7421 100644 --- a/src/driver-test.c +++ b/src/driver-test.c @@ -102,6 +102,9 @@ test_read_button(struct ratbag_button *button) struct ratbag_test_macro_event *e; int idx; + /* Only take the button types from the first profile */ + button->type = d->profiles[0].buttons[button->index].button_type; + switch (b->action_type) { case RATBAG_BUTTON_ACTION_TYPE_BUTTON: button->action.type = RATBAG_BUTTON_ACTION_TYPE_BUTTON; diff --git a/src/libratbag-test.h b/src/libratbag-test.h index 75cbdc0c..784dc26b 100644 --- a/src/libratbag-test.h +++ b/src/libratbag-test.h @@ -37,6 +37,7 @@ struct ratbag_test_macro_event { }; struct ratbag_test_button { + enum ratbag_button_type button_type; enum ratbag_button_action_type action_type; union { int button; diff --git a/tools/ratbagctl.test.in b/tools/ratbagctl.test.in index b238e050..7332fb3a 100755 --- a/tools/ratbagctl.test.in +++ b/tools/ratbagctl.test.in @@ -370,12 +370,12 @@ class TestRatbgagCtlButton(TestRatbagCtl): def test_button_n_get(self): self.setProfile(0) r = self.launch_good_test("button 0 get test_device") - self.assertEqual(r, "Button: 0 type unknown is mapped to 'button 0'") + self.assertEqual(r, "Button: 0 type left is mapped to 'button 0'") r = self.launch_good_test("button 1 get test_device") - self.assertEqual(r, "Button: 1 type unknown is mapped to 'KEY_3'") + self.assertEqual(r, "Button: 1 type middle is mapped to 'KEY_3'") r = self.launch_good_test("button 2 get test_device") # FIXME: special maps to UNKNOWN???? - self.assertEqual(r, "Button: 2 type unknown is mapped to UNKNOWN") + self.assertEqual(r, "Button: 2 type right is mapped to UNKNOWN") r = self.launch_good_test("button 3 get test_device") self.assertEqual(r, "Button: 3 type unknown is mapped to macro '+KEY_B -KEY_B t300'") self.launch_fail_test("button 1 get 10 test_device") @@ -385,7 +385,7 @@ class TestRatbgagCtlButton(TestRatbagCtl): def test_button_n_action_get(self): self.setProfile(0) r = self.launch_good_test("button 0 action get test_device") - self.assertEqual(r, "Button: 0 type unknown is mapped to 'button 0'") + self.assertEqual(r, "Button: 0 type left is mapped to 'button 0'") self.launch_fail_test("button 1 action get 10 test_device") self.launch_fail_test("button 10 action get test_device") self.launch_fail_test("button 1 action get test_device X") @@ -394,11 +394,11 @@ class TestRatbgagCtlButton(TestRatbagCtl): self.setProfile(2) command = "button 2 action set button" r = self.launch_good_test("button 2 action get test_device") - self.assertEqual(r, "Button: 2 type unknown is mapped to 'button 2'") + self.assertEqual(r, "Button: 2 type right is mapped to 'button 2'") r = self.launch_good_test(command + " 1 test_device") self.assertEqual(r, '') r = self.launch_good_test("button 2 action get test_device") - self.assertEqual(r, "Button: 2 type unknown is mapped to 'button 1'") + self.assertEqual(r, "Button: 2 type right is mapped to 'button 1'") self.launch_fail_test(command) self.launch_fail_test(command + " X test_device") self.launch_fail_test(command + " 100 test_device X") @@ -412,16 +412,16 @@ class TestRatbgagCtlButton(TestRatbagCtl): command = "button 2 action set macro " self.launch_good_test(command + '+KEY_B KEY_A -KEY_B KEY_C test_device') r = self.launch_good_test("button 2 get test_device") - self.assertEqual(r, "Button: 2 type unknown is mapped to macro '+KEY_B +KEY_A -KEY_A -KEY_B +KEY_C -KEY_C'") + self.assertEqual(r, "Button: 2 type right is mapped to macro '+KEY_B +KEY_A -KEY_A -KEY_B +KEY_C -KEY_C'") self.launch_good_test(command + 't100 t200 test_device') r = self.launch_good_test("button 2 get test_device") - self.assertEqual(r, "Button: 2 type unknown is mapped to macro 't100 t200'") + self.assertEqual(r, "Button: 2 type right is mapped to macro 't100 t200'") self.launch_good_test(command + 'KeY_z test_device') r = self.launch_good_test("button 2 get test_device") - self.assertEqual(r, "Button: 2 type unknown is mapped to macro '+KEY_Z -KEY_Z'") + self.assertEqual(r, "Button: 2 type right is mapped to macro '+KEY_Z -KEY_Z'") self.launch_good_test(command + ' test_device') r = self.launch_good_test("button 2 get test_device") - self.assertEqual(r, "Button: 2 type unknown is mapped to macro ''") + self.assertEqual(r, "Button: 2 type right is mapped to macro ''") self.launch_fail_test(command) self.launch_fail_test(command + " KEY_A test_device X")