VIAL 구조 차이 완벽 정리|VIA와 프로토콜·JSON·펌웨어 비교

작성자

카테고리:

LINK&TEM GUIDE

VIAL 구조 차이

VIA와 무엇이 다르며 왜 고급 사용자들이 VIAL을 선택하는가

📌 핵심 요약
  • VIAL은 VIA를 기반으로 만들어진 확장형 키보드 설정 시스템입니다.
  • 실시간 설정 방식은 비슷하지만 지원 기능은 VIAL이 훨씬 많습니다.
  • Tap Dance, Combo, Key Override 등 고급 기능을 GUI에서 설정할 수 있습니다.
  • 보안을 위해 Unlock 방식과 VIAL 전용 UID 구조를 사용합니다.
  • QMK 기반 커스텀 키보드 사용자라면 VIA보다 높은 자유도를 제공합니다.

기계식 키보드를 커스텀하다 보면 가장 많이 접하는 프로그램이 VIA입니다. 하지만 조금 더 깊이 들어가면 VIAL이라는 이름도 자주 등장합니다.

처음에는 이름만 비슷해 보여 “VIA의 새로운 버전인가?”라고 생각하기 쉽지만 실제로는 구조와 목적이 상당히 다릅니다.

이번 글에서는 VIAL이 어떤 구조로 만들어졌는지, VIA와 어떤 차이가 있는지, 왜 일부 고급 사용자들이 VIAL을 선호하는지까지 내부 동작 중심으로 살펴보겠습니다.


VIAL은 무엇일까?

VIAL은 QMK Firmware 위에서 동작하는 실시간 키맵 설정 시스템입니다. 기본 개념은 VIA와 거의 동일합니다. 키보드 펌웨어 안에 설정 정보를 저장하고, 프로그램에서 실시간으로 읽고 수정하는 구조를 사용합니다.

하지만 개발 목적은 조금 다릅니다.

VIA는 가능한 많은 사용자들이 쉽고 빠르게 키를 변경하도록 설계되었습니다. 반면 VIAL은 커스텀 키보드 제작자와 고급 사용자를 위해 기능 제한을 크게 줄인 시스템입니다.

즉,

  • 쉬운 사용성 → VIA
  • 높은 자유도 → VIAL

라는 방향성 차이가 존재합니다.

💡 Link&Tem Insight

VIAL은 VIA를 완전히 대체하기 위해 만들어진 프로젝트가 아닙니다. VIA에서 구현하기 어려웠던 고급 기능을 GUI 환경에서도 사용할 수 있도록 확장한 프로젝트에 가깝습니다.

왜 VIAL이 만들어졌을까?

VIA는 매우 편리하지만 지원하는 기능이 제한적입니다.

예를 들어 최신 QMK에서 지원하는 여러 기능은 VIA 화면에서는 설정할 수 없습니다.

결국 사용자는 config.h와 keymap.c를 직접 수정하고 다시 컴파일해야 하는 경우가 많았습니다.

이러한 불편함을 해결하기 위해 만들어진 것이 VIAL입니다.

목적 VIA VIAL
기본 키 변경 지원 지원
매크로 지원 확장 지원
Tap Dance 거의 불가 GUI 지원
Combo 제한 지원
Key Override 제한 지원
TIP 처음 사용하는 사용자라면 VIA가 더 쉽습니다. 하지만 키 하나에 여러 동작을 넣거나 복잡한 레이어를 구성하려면 VIAL이 훨씬 강력합니다.

VIAL 구조는 VIA와 무엇이 다를까?

겉모습은 매우 비슷하지만 내부 구조는 차이가 있습니다.

VIA는 JSON 기반 데이터베이스를 이용하여 키보드를 인식합니다.

반면 VIAL은 펌웨어 안에 VIAL UID와 기능 정보를 함께 포함하여 프로그램이 장치를 식별합니다.

즉, 단순히 JSON을 읽는 것이 아니라 펌웨어 자체가 VIAL 인터페이스를 지원하도록 제작됩니다.

구조 흐름
  • PC가 HID 장치 연결
  • VIAL UID 확인
  • 지원 기능 확인
  • 동적 설정 가능 여부 확인
  • 실시간 EEPROM 수정
💡 Link&Tem Insight

VIAL은 단순히 “JSON이 더 많은 VIA”가 아닙니다. 펌웨어 내부에 별도의 식별 구조와 기능 플래그를 포함하기 때문에 프로그램이 훨씬 다양한 기능을 안전하게 노출할 수 있습니다.

VIAL Unlock은 왜 존재할까?

VIAL을 처음 실행하면 Unlock을 요구하는 키보드가 있습니다.

이는 실수로 키맵을 변경하거나 악성 프로그램이 EEPROM을 수정하는 것을 방지하기 위한 보안 기능입니다.

일반적으로 특정 키를 동시에 누르거나 정해진 조합을 입력해야 설정 화면이 활성화됩니다.

VIA에는 기본적으로 이러한 보호 절차가 존재하지 않는 경우가 많습니다.

따라서 VIAL은 커스텀 키보드 제작자 입장에서 조금 더 안전한 구조를 제공합니다.

Part 1 정리

VIAL은 VIA와 동일한 실시간 키맵 변경 철학을 유지하면서도 Tap Dance, Combo, Key Override 같은 고급 기능과 Unlock, UID 기반 구조를 추가한 확장형 시스템입니다. 다음 파트에서는 EEPROM 구조, 지원 기능, VIA와의 호환성, 어떤 사용자에게 적합한지까지 자세히 살펴보겠습니다.

5. VIAL은 키보드 정보를 어디에 저장할까?

VIA와 VIAL의 구조 차이를 이해하려면 키맵과 설정 정보가 어디에 저장되는지를 먼저 살펴봐야 합니다. 두 방식 모두 사용자가 변경한 키 배열을 키보드 내부의 비휘발성 저장공간에 기록할 수 있습니다. QMK 계열 펌웨어에서는 이러한 영구 설정 영역을 일반적으로 EEPROM이라고 표현합니다.

EEPROM에 저장된 데이터는 키보드 전원을 분리해도 유지됩니다. 따라서 VIAL에서 특정 키를 다른 기능으로 변경한 뒤 USB 케이블을 뽑았다가 다시 연결해도 설정이 그대로 남아 있습니다. 키를 누를 때마다 PC의 VIAL 프로그램이 명령을 전달하는 것이 아니라, 키보드 펌웨어가 내부에 저장된 키맵을 읽어 직접 입력을 처리하는 구조입니다.

💡 핵심 구조

VIAL 프로그램은 설정값을 키보드에 전달하는 도구입니다. 실제 키 입력 판단과 USB HID 신호 전송은 키보드 내부의 펌웨어가 담당하므로 설정을 마친 뒤 VIAL을 종료해도 변경한 키맵을 계속 사용할 수 있습니다.

다만 모든 설정이 동일한 방식으로 저장되는 것은 아닙니다. 키맵, 레이어, 매크로, 콤보, Tap Dance처럼 사용자가 실시간으로 변경할 수 있는 항목은 펌웨어가 마련한 동적 저장 영역을 사용합니다. 반면 매트릭스 핀 구성, 디바운스 알고리즘, USB 장치 정보, 스캔 방식처럼 키보드의 기본 동작을 결정하는 항목은 펌웨어 소스를 수정하고 다시 빌드해야 합니다.

설정 종류 변경 위치 재플래시 필요 여부
일반 키맵 VIAL GUI 대부분 불필요
레이어 구성 VIAL GUI 대부분 불필요
콤보·Tap Dance 지원 펌웨어의 VIAL GUI 대부분 불필요
매트릭스 핀 구성 펌웨어 소스 필요
스캔·디바운스 방식 펌웨어 소스 필요

EEPROM은 무제한으로 쓸 수 있는 저장장치는 아닙니다. 다만 일반적인 키맵 변경 빈도만으로 수명을 걱정할 필요는 거의 없습니다. 문제가 되는 경우는 자동화 프로그램이나 오류가 있는 도구가 매우 짧은 간격으로 설정을 반복 기록할 때입니다. 설정값이 실제로 바뀔 때만 저장하는 정상적인 사용에서는 큰 부담이 되지 않습니다.

6. VIAL이 VIA보다 더 많은 기능을 제공하는 이유

VIAL이 VIA보다 기능이 많다고 설명되는 이유는 프로그램 화면에 메뉴를 더 많이 추가했기 때문만은 아닙니다. VIAL은 GUI와 키보드 펌웨어가 함께 확장된 구조입니다. 프로그램에서 만든 고급 설정을 펌웨어가 이해하고 실행할 수 있도록 통신 명령과 동적 저장 구조가 함께 구현되어 있습니다.

VIA도 키맵 변경, 레이어 설정, 매크로, 조명 제어 같은 주요 기능을 제공합니다. 그러나 콤보나 Tap Dance처럼 동작 조건이 복잡한 기능은 일반 QMK 환경에서 소스 코드에 직접 정의해야 하는 경우가 많습니다. VIAL은 이러한 설정을 GUI에서 수정할 수 있도록 동적 기능으로 확장했습니다.

VIAL에서 자주 사용하는 고급 기능
  • Combo: 여러 키를 동시에 눌렀을 때 하나의 다른 입력을 실행합니다.
  • Tap Dance: 같은 키를 한 번, 여러 번, 길게 눌렀을 때 서로 다른 동작을 실행합니다.
  • Key Override: 특정 키와 보조키 조합을 다른 키코드로 치환합니다.
  • Macro: 여러 키 입력을 정해진 순서로 실행합니다.
  • Encoder 설정: 로터리 인코더의 회전 방향과 클릭 기능을 변경합니다.

예를 들어 두 개의 키를 동시에 누르면 괄호나 특수문자가 입력되도록 만들 수 있습니다. 같은 키를 한 번 눌렀을 때와 두 번 눌렀을 때 다른 기능을 실행하거나, 특정 키 조합을 다른 단축키로 치환하는 것도 가능합니다. 물리 키 수가 적은 60%, 65%, 75% 배열에서 특히 유용합니다.

하지만 VIAL을 설치했다고 해서 모든 고급 기능이 자동으로 나타나는 것은 아닙니다. 해당 기능이 키보드 펌웨어를 빌드하는 단계에서 활성화되어 있어야 하며, 컨트롤러의 플래시 메모리와 EEPROM 용량도 충분해야 합니다. 제조사가 일부 기능을 제외한 펌웨어를 제공했다면 VIAL GUI에 관련 탭이 나타나지 않을 수 있습니다.

기능이 보이지 않을 때

VIAL 프로그램만 최신 버전으로 업데이트한다고 키보드 펌웨어에 없는 기능이 새로 생기지는 않습니다. GUI의 메뉴와 실제 사용 가능한 기능은 키보드에 설치된 VIAL 펌웨어 구성에 따라 달라집니다.

7. VIAL 호환 키보드는 어떻게 구분할까?

키보드가 QMK를 사용한다고 해서 반드시 VIAL과 호환되는 것은 아닙니다. QMK, VIA, VIAL은 서로 관련된 프로젝트이지만 같은 의미는 아닙니다. VIAL에서 키보드를 설정하려면 해당 키보드에 VIAL 통신 프로토콜과 장치 정의가 포함된 호환 펌웨어가 설치되어 있어야 합니다.

제품 설명에 VIA 지원만 표기되어 있다면 VIAL에서도 바로 인식된다고 단정할 수 없습니다. 반대로 제조사가 VIAL 지원 펌웨어를 기본으로 탑재했거나 공식 다운로드 페이지에서 별도의 VIAL 펌웨어를 제공한다면 사용할 가능성이 높습니다.

확인 항목 확인해야 하는 내용
제품 페이지의 VIAL 표기 제조사가 공식적으로 VIAL 호환성을 안내하는지 확인합니다.
공식 펌웨어 다운로드 키보드 모델과 PCB 버전에 맞는 VIAL 펌웨어가 있는지 확인합니다.
VIAL 실행 후 자동 인식 키보드가 장치 정의와 VIAL 통신 정보를 정상적으로 제공하는 상태입니다.
vial-qmk 소스 트리 해당 키보드용 VIAL 키맵이나 포트가 등록되어 있는지 확인합니다.

직접 VIAL 펌웨어를 빌드할 수도 있지만, 이 과정에서는 키보드 모델뿐 아니라 PCB 리비전, MCU 종류, 부트로더, 매트릭스 구조까지 정확히 확인해야 합니다. 이름이 같은 키보드라도 생산 시기나 판매 지역에 따라 PCB가 달라질 수 있으므로 다른 리비전의 펌웨어를 임의로 설치하면 정상적으로 작동하지 않을 수 있습니다.

⚠️ 펌웨어 설치 전 주의

VIA용 펌웨어와 VIAL용 펌웨어는 단순 설정 파일이 아닙니다. 반드시 제조사나 키보드 프로젝트가 제공하는 정확한 모델·PCB 리비전용 파일인지 확인해야 합니다. 잘못된 펌웨어를 설치하면 키 입력, 조명, 무선 기능 또는 부트로더 진입 방식이 정상적으로 작동하지 않을 수 있습니다.

8. VIA JSON과 VIAL JSON의 역할 차이

두 시스템 모두 JSON이라는 표현이 등장하기 때문에 같은 파일을 서로 사용할 수 있다고 생각하기 쉽습니다. 하지만 VIA의 정의 JSON과 VIAL 펌웨어에 사용되는 vial.json은 사용 위치와 목적이 다릅니다.

VIA 정의 파일은 VIA 애플리케이션이 키보드 이름, USB 식별 정보, 물리 배열, 키 위치와 메뉴 구성을 이해하도록 돕습니다. 키보드 정의가 VIA 공식 저장소에 등록되지 않았거나 로컬 정의를 사용하는 제품에서는 사용자가 VIA의 Design 탭에서 JSON 파일을 직접 불러와야 할 수 있습니다.

반면 VIAL의 vial.json은 VIAL 펌웨어를 구성하고 빌드하는 과정에서 키보드의 레이아웃과 장치 정보를 정의하는 데 사용됩니다. 완성된 VIAL 펌웨어는 필요한 정보를 키보드 자체에서 프로그램으로 전달할 수 있으므로, 일반 사용 단계에서는 별도의 JSON 파일을 매번 불러오지 않아도 배열이 자동으로 나타납니다.

비교 항목 VIA 정의 JSON VIAL의 vial.json
주요 사용 시점 VIA에서 장치 정의를 불러올 때 VIAL 펌웨어를 구성하고 빌드할 때
주요 사용자 일반 사용자·제조사·개발자 펌웨어 개발자·키보드 제작자
외부 파일 로드 등록 상태에 따라 필요할 수 있음 일반 사용 단계에서는 대체로 불필요
서로 교환 가능 여부 파일 구조와 용도가 달라 그대로 교환할 수 없음
Link&Tem Insight

VIA는 애플리케이션이 키보드의 정의 파일을 확보한 뒤 화면을 구성하는 과정이 비교적 명확하게 드러납니다. VIAL은 장치 정의를 펌웨어와 함께 배포해 연결한 키보드가 자신의 구조를 프로그램에 직접 알려주는 방식에 가깝습니다.

9. VIA와 VIAL 중 무엇을 선택해야 할까?

일반적인 키 변경과 간단한 레이어 설정만 필요하다면 VIA만으로도 충분한 경우가 많습니다. 공식 지원 키보드가 많고 웹 브라우저에서도 실행할 수 있기 때문에 프로그램 설치를 최소화하고 싶은 사용자에게 편리합니다.

반대로 Combo, Tap Dance, Key Override처럼 조건이 복잡한 기능을 GUI에서 자주 수정하고 싶다면 VIAL이 더 적합할 수 있습니다. 키보드 제작자 입장에서도 장치 정의를 펌웨어에 포함해 외부 JSON 파일을 별도로 배포하는 과정을 줄일 수 있다는 장점이 있습니다.

사용 목적별 선택 기준
  • VIA 추천: 기본 키맵 변경, 간단한 레이어와 매크로, 웹 기반 설정을 원하는 경우
  • VIAL 추천: Combo, Tap Dance, Key Override 등 고급 기능을 GUI에서 수정하려는 경우
  • 기본 펌웨어 유지 추천: 현재 설정에 만족하고 펌웨어 변경 위험을 피하고 싶은 경우
  • 직접 빌드 추천: PCB와 QMK 구조를 이해하고 필요한 기능을 직접 구성할 수 있는 경우

가장 중요한 선택 기준은 기능의 개수보다 공식 지원 여부입니다. 원하는 기능이 많더라도 자신의 키보드에 검증된 VIAL 펌웨어가 없다면 무리하게 변경하기보다 제조사가 제공하는 VIA 펌웨어나 전용 프로그램을 사용하는 편이 안전합니다.

또한 VIA와 VIAL의 차이를 입력 지연 차이로 오해해서는 안 됩니다. 두 도구는 키맵과 기능을 설정하는 방법에 영향을 줍니다. 실제 입력 지연은 키보드 매트릭스의 Scan Rate, 디바운스 설정, USB Polling Rate, 무선 전송 구조와 펌웨어 처리 시간에 더 직접적인 영향을 받습니다.

10. 자주 발생하는 오해와 문제

VIAL을 실행했는데 키보드가 보이지 않는 경우

키보드에 VIAL 호환 펌웨어가 설치되지 않았거나 USB 데이터 연결이 정상적으로 이루어지지 않았을 가능성이 큽니다. VIA 지원 제품이라는 이유만으로 VIAL에서도 자동으로 인식되는 것은 아닙니다. 먼저 제조사의 공식 안내에서 VIAL 지원 여부를 확인해야 합니다.

Unlock 화면에서 아무 변화가 없는 경우

Unlock 과정에서는 펌웨어가 지정한 물리 키를 실제 키보드에서 눌러야 합니다. 프로그램 화면에 표시되는 위치와 실제 PCB의 키 위치가 다르거나 펌웨어의 Unlock 조합이 잘못 정의되어 있다면 잠금 해제가 완료되지 않을 수 있습니다.

펌웨어를 다시 설치했는데 키맵이 그대로인 경우

기존 키맵이 EEPROM에 남아 있으면 새 펌웨어의 기본 키맵보다 저장된 동적 키맵이 우선 적용될 수 있습니다. 펌웨어 업데이트 후 배열이 예상과 다르다면 VIAL의 초기화 기능이나 해당 키보드의 EEPROM 초기화 절차를 확인해야 합니다.

고급 기능 탭이 일부만 보이는 경우

VIAL GUI의 오류라기보다 펌웨어에서 해당 기능이 활성화되지 않았을 가능성이 높습니다. 컨트롤러의 저장공간이 부족해 제조사가 일부 기능을 제외했을 수도 있습니다. 같은 키보드라도 설치된 펌웨어 버전에 따라 사용할 수 있는 메뉴가 달라질 수 있습니다.

Link&Tem Insight

VIAL 문제를 해결할 때는 프로그램, USB 연결, 키보드 펌웨어, EEPROM 저장값을 분리해서 확인해야 합니다. 화면에 나타난 문제라고 해서 항상 VIAL 프로그램 자체의 오류인 것은 아닙니다.

11. VIAL 구조 차이 FAQ

Q. VIA 키보드를 VIAL 프로그램에 연결하면 바로 사용할 수 있나요?

반드시 그렇지는 않습니다. 키보드에 VIAL 호환 프로토콜과 장치 정의가 포함된 펌웨어가 설치되어 있어야 합니다. VIA 지원 여부와 VIAL 지원 여부는 별도로 확인해야 합니다.

Q. VIAL에서 설정한 키맵은 프로그램을 종료하면 사라지나요?

일반적으로 키맵은 키보드 내부의 비휘발성 저장 영역에 기록되므로 프로그램을 종료하거나 키보드를 다시 연결해도 유지됩니다. EEPROM을 초기화하거나 펌웨어의 저장 구조가 변경되면 설정이 초기화될 수 있습니다.

Q. VIAL을 사용하면 입력 속도가 빨라지나요?

VIAL 자체가 Scan Rate나 USB Polling Rate를 높여주는 것은 아닙니다. 입력 속도는 키보드 하드웨어와 펌웨어 설정에 의해 결정되며, VIAL은 주로 키맵과 기능을 편집하는 인터페이스입니다.

Q. VIAL Unlock을 매번 해야 하나요?

잠금 상태와 유지 방식은 펌웨어 구성에 따라 달라질 수 있습니다. 보호되는 설정을 변경할 때 Unlock이 요구될 수 있으며, 신뢰할 수 있는 PC에서만 잠금을 해제하는 것이 좋습니다.

Q. VIA JSON을 VIAL에 그대로 불러올 수 있나요?

일반적으로 그대로 사용할 수 없습니다. VIA 정의 JSON과 VIAL 펌웨어의 vial.json은 목적과 스키마가 다릅니다. 포팅 과정에서 일부 레이아웃 정보를 참고할 수는 있지만 서로 교환하는 파일은 아닙니다.

📚 함께 보면 좋은 글

VIAL의 차이를 더 정확히 이해하려면 키보드 입력 처리 속도와 VIA의 장치 정의 구조도 함께 살펴보는 것이 좋습니다. 아래 글을 순서대로 읽으면 펌웨어가 키 입력을 처리하고 설정 프로그램과 통신하는 전체 흐름을 연결할 수 있습니다.

공식 자료

VIAL과 VIA의 실제 지원 기능이나 펌웨어 구조는 버전에 따라 달라질 수 있습니다. 펌웨어를 설치하거나 직접 빌드하기 전에는 아래 공식 사이트와 저장소에서 최신 문서를 확인하는 것이 좋습니다.

출처

Link&Tem 한 줄 정리

VIA가 외부 장치 정의와 간편한 키맵 변경에 초점을 둔 구조라면, VIAL은 키보드 정의를 펌웨어에 포함하고 Combo·Tap Dance·Key Override 같은 고급 기능까지 실시간으로 수정할 수 있도록 GUI와 펌웨어를 함께 확장한 구조입니다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다