Forráskód Böngészése

Fix unknown keycode saving

Signed-off-by: shedaniel <daniel@shedaniel.me>
shedaniel 5 éve
szülő
commit
7bc8b2a257

+ 3 - 1
src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java

@@ -85,7 +85,9 @@ public class ConfigManagerImpl implements ConfigManager {
         AutoConfig.register(ConfigObjectImpl.class, (definition, configClass) -> new JanksonConfigSerializer<>(definition, configClass, Jankson.builder().registerPrimitiveTypeAdapter(InputUtil.KeyCode.class, it -> {
             return it instanceof String ? InputUtil.fromName((String) it) : null;
         }).registerSerializer(InputUtil.KeyCode.class, (it, marshaller) -> new JsonPrimitive(it.getName())).registerTypeAdapter(ModifierKeyCode.class, o -> {
-            InputUtil.KeyCode keyCode = InputUtil.fromName(((JsonPrimitive) o.get("keyCode")).asString());
+            String code = ((JsonPrimitive) o.get("keyCode")).asString();
+            if (code.endsWith(".unknown")) return ModifierKeyCode.unknown();
+            InputUtil.KeyCode keyCode = InputUtil.fromName(code);
             Modifier modifier = Modifier.of(((Number) ((JsonPrimitive) o.get("modifier")).getValue()).shortValue());
             return ModifierKeyCode.of(keyCode, modifier);
         }).registerSerializer(ModifierKeyCode.class, (keyCode, marshaller) -> {