浏览代码

Fix bit count calculation for iterating layers

Ryan Caltabiano 6 年之前
父节点
当前提交
ba26736d7e
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      tmk_core/common/action_layer.c

+ 1 - 1
tmk_core/common/action_layer.c

@@ -303,7 +303,7 @@ uint8_t layer_switch_get_layer(keypos_t key) {
 
 
   layer_state_t layers = layer_state | default_layer_state;
   layer_state_t layers = layer_state | default_layer_state;
   /* check top layer first */
   /* check top layer first */
-  for (int8_t i = sizeof(layer_state_t)-1; i >= 0; i--) {
+  for (int8_t i = sizeof(layer_state_t) * 8 - 1; i >= 0; i--) {
     if (layers & (1UL << i)) {
     if (layers & (1UL << i)) {
       action = action_for_key(i, key);
       action = action_for_key(i, key);
       if (action.code != ACTION_TRANSPARENT) {
       if (action.code != ACTION_TRANSPARENT) {