From 7a4f21d34086278cf1484e4e92837260f76b1396 Mon Sep 17 00:00:00 2001
From: Joel Challis <git@zvecr.com>
Date: Mon, 26 Aug 2024 03:56:03 +0100
Subject: [PATCH] Reject via keymaps in lint (#24325)

---
 lib/python/qmk/cli/lint.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/lib/python/qmk/cli/lint.py b/lib/python/qmk/cli/lint.py
index ba0c3f274c..efb29704ae 100644
--- a/lib/python/qmk/cli/lint.py
+++ b/lib/python/qmk/cli/lint.py
@@ -14,15 +14,16 @@ from qmk.c_parse import c_source_files
 
 CHIBIOS_CONF_CHECKS = ['chconf.h', 'halconf.h', 'mcuconf.h', 'board.h']
 INVALID_KB_FEATURES = set(['encoder_map', 'dip_switch_map', 'combo', 'tap_dance', 'via'])
+INVALID_KM_NAMES = ['via', 'vial']
 
 
 def _list_defaultish_keymaps(kb):
     """Return default like keymaps for a given keyboard
     """
-    defaultish = ['ansi', 'iso', 'via']
+    defaultish = ['ansi', 'iso']
 
     # This is only here to flag it as "testable", so it doesn't fly under the radar during PR
-    defaultish.append('vial')
+    defaultish.extend(INVALID_KM_NAMES)
 
     keymaps = set()
     for x in list_keymaps(kb):
@@ -136,6 +137,11 @@ def keymap_check(kb, km):
         cli.log.error("%s: Can't find %s keymap.", kb, km)
         return ok
 
+    if km in INVALID_KM_NAMES:
+        ok = False
+        cli.log.error("%s: The keymap %s should not exist!", kb, km)
+        return ok
+
     # Additional checks
     invalid_files = git_get_ignored_files(keymap_path.parent.as_posix())
     for file in invalid_files: