Skip to content

unable to configure keymap in via / vial + several other issues #56

@X4ndras

Description

@X4ndras

Hi there,

While setting up the Totem keyboard, i encountered several issues.

First, like in issue #40, I had to manually add SPLIT\_KEYBOARD = yes in the rules.mk file. It might be helpful to mention that in the docs.

Also, I couldn’t find clear instructions on how to flash the firmware if I missed something, feel free to point me there.

When trying to compile with qmk compile -kb geigeigeist/totem -km vial, I ran into an error:

➜  totem git:(master) ✗ qmk compile -kb geigeigeist/totem -km vial
Ψ Compiling keymap with make -r -R -f builddefs/build_keyboard.mk -s KEYBOARD=geigeigeist/totem KEYMAP=vial KEYBOARD_FILESAFE=geigeigeist_totem TARGET=geigeigeist_totem_vial VERBOSE=false COLOR=true SILENT=false QMK_BIN="qmk"


arm-none-eabi-gcc (Arch Repository) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Size before:
   text    data     bss     dec     hex filename
      0   38324       0   38324    95b4 geigeigeist_totem_vial.uf2

Compiling: .build/obj_geigeigeist_totem_vial/src/community_modules.c                                [OK]
Compiling: keyboards/geigeigeist/totem/totem.c                                                      [OK]
Compiling: .build/obj_geigeigeist_totem_vial/src/default_keyboard.c                                 [OK]
Compiling: quantum/keymap_introspection.c                                                          In file included from quantum/eeconfig.h:24,
                 from quantum/keycode_config.h:23,
                 from quantum/quantum.h:41,
                 from ./.build/obj_geigeigeist_totem_vial/src/default_keyboard.h:28,
                 from ./keyboards/geigeigeist/totem/keymaps/vial/keymap.c:14,
                 from quantum/keymap_introspection.c:9:
quantum/keymap_introspection.c: In function 'tap_dance_count_raw':
quantum/keymap_introspection.c:129:23: error: 'tap_dance_actions' undeclared (first use in this function); did you mean 'tap_dance_action_t'?
  129 |     return ARRAY_SIZE(tap_dance_actions);
      |                       ^~~~~~~~~~~~~~~~~
quantum/util.h:37:68: note: in definition of macro 'IS_ARRAY'
   37 | #    define IS_ARRAY(value) (!__builtin_types_compatible_p(typeof((value)), typeof(&(value)[0])))
      |                                                                    ^~~~~
quantum/keymap_introspection.c:129:12: note: in expansion of macro 'ARRAY_SIZE'
  129 |     return ARRAY_SIZE(tap_dance_actions);
      |            ^~~~~~~~~~
quantum/keymap_introspection.c:129:23: note: each undeclared identifier is reported only once for each function it appears in
  129 |     return ARRAY_SIZE(tap_dance_actions);
      |                       ^~~~~~~~~~~~~~~~~
quantum/util.h:37:68: note: in definition of macro 'IS_ARRAY'
   37 | #    define IS_ARRAY(value) (!__builtin_types_compatible_p(typeof((value)), typeof(&(value)[0])))
      |                                                                    ^~~~~
quantum/keymap_introspection.c:129:12: note: in expansion of macro 'ARRAY_SIZE'
  129 |     return ARRAY_SIZE(tap_dance_actions);
      |            ^~~~~~~~~~
quantum/util.h:48:32: error: first argument to '__builtin_choose_expr' not a constant
   48 | #    define ARRAY_SIZE(array) (__builtin_choose_expr(IS_ARRAY((array)), sizeof((array)) / sizeof((array)[0]), (void)0))
      |                                ^~~~~~~~~~~~~~~~~~~~~
quantum/keymap_introspection.c:129:12: note: in expansion of macro 'ARRAY_SIZE'
  129 |     return ARRAY_SIZE(tap_dance_actions);
      |            ^~~~~~~~~~
quantum/keymap_introspection.c: At top level:
quantum/keymap_introspection.c:136:27: error: 'tap_dance_actions' undeclared here (not in a function); did you mean 'tap_dance_action_t'?
  136 | _Static_assert(ARRAY_SIZE(tap_dance_actions) <= (QK_TAP_DANCE_MAX - QK_TAP_DANCE), "Number of tap dance actions exceeds maximum. Are you using SAFE_RANGE in tap dance enum?");
      |                           ^~~~~~~~~~~~~~~~~
quantum/util.h:37:68: note: in definition of macro 'IS_ARRAY'
   37 | #    define IS_ARRAY(value) (!__builtin_types_compatible_p(typeof((value)), typeof(&(value)[0])))
      |                                                                    ^~~~~
quantum/keymap_introspection.c:136:16: note: in expansion of macro 'ARRAY_SIZE'
  136 | _Static_assert(ARRAY_SIZE(tap_dance_actions) <= (QK_TAP_DANCE_MAX - QK_TAP_DANCE), "Number of tap dance actions exceeds maximum. Are you using SAFE_RANGE in tap dance enum?");
      |                ^~~~~~~~~~
quantum/util.h:48:32: error: first argument to '__builtin_choose_expr' not a constant
   48 | #    define ARRAY_SIZE(array) (__builtin_choose_expr(IS_ARRAY((array)), sizeof((array)) / sizeof((array)[0]), (void)0))
      |                                ^~~~~~~~~~~~~~~~~~~~~
quantum/keymap_introspection.c:136:16: note: in expansion of macro 'ARRAY_SIZE'
  136 | _Static_assert(ARRAY_SIZE(tap_dance_actions) <= (QK_TAP_DANCE_MAX - QK_TAP_DANCE), "Number of tap dance actions exceeds maximum. Are you using SAFE_RANGE in tap dance enum?");
      |                ^~~~~~~~~~
quantum/util.h:48:31: error: expression in static assertion is not an integer
   48 | #    define ARRAY_SIZE(array) (__builtin_choose_expr(IS_ARRAY((array)), sizeof((array)) / sizeof((array)[0]), (void)0))
      |                               ^
quantum/keymap_introspection.c:136:16: note: in expansion of macro 'ARRAY_SIZE'
  136 | _Static_assert(ARRAY_SIZE(tap_dance_actions) <= (QK_TAP_DANCE_MAX - QK_TAP_DANCE), "Number of tap dance actions exceeds maximum. Are you using SAFE_RANGE in tap dance enum?");
      |                ^~~~~~~~~~
quantum/keymap_introspection.c: In function 'tap_dance_count_raw':
quantum/keymap_introspection.c:130:1: error: control reaches end of non-void function [-Werror=return-type]
  130 | }
      | ^
quantum/keymap_introspection.c: In function 'tap_dance_get_raw':
quantum/keymap_introspection.c:143:1: error: control reaches end of non-void function [-Werror=return-type]
  143 | }
      | ^
cc1: all warnings being treated as errors
 [ERRORS]
 |
 |
 |
make: *** [builddefs/common_rules.mk:362: .build/obj_geigeigeist_totem_vial/quantum/keymap_introspection.o] Error 1
➜  totem git:(master) ✗

unless I commented out KEY_OVERRIDE_ENABLE = yes in keymaps/vial/rules.mk. Not sure if that’s expected behavior or something that needs attention.

After flashing, I wasn't able to configure the keymap in usevia.app or the Vial software. Vial gave me this error in a prompt:

Unsupported protocol version!
Please download latest Vial from https://get.vial.today/

Also, under About > Geist Totem in Vial, I get the following traceback:

File "main_window.py", line 433, in about_keyboard
  File "about_keyboard.py", line 82, in __init__
  File "about_keyboard.py", line 20, in about_tap_dance
AttributeError: 'Keyboard' object has no attribute 'tap_dance_count'

In VIA, the configurator shows the layout after loading the JSON from the design tab, but the Configuration tab is empty. I also had to set the version to v2 (deprecated) for the vial.json just to get it to load.

PS: I now tried to get it to run since two whole days idk what to do anymore i rewrote the vial.json added an info.json to the root dir modified the rules over and over again. Nothing worked.

Edit: I am using the wired version of the Totem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions