
다운로드 : https://github.com/LEEASIMIR/SoftDeck/releases/tag/0.1.1
Stream Deck이 탐나지만 추가 하드웨어를 사고 싶진 않으셨나요? 이미 키보드에 달려 있는 넘패드로 똑같은 걸 할 수 있다면요?
SoftDeck는 Windows 넘패드를 커스텀 버튼 덱으로 바꿔주는 데스크톱 앱입니다. 앱 실행, 단축키 전송, 미디어 제어, 매크로 녹화, 시스템 모니터링까지 — 넘패드 키 하나로 전부 가능합니다. 설치도 필요 없이 SoftDeck.bat 더블클릭이면 끝입니다.
왜 만들었나
작업 중에 자주 반복하는 동작들이 있습니다. 볼륨 조절, 음악 넘기기, 자주 쓰는 앱 실행, 특정 단축키 입력... 이런 걸 매번 마우스로 찾아 클릭하거나 복잡한 단축키 조합을 외우는 건 번거롭습니다.
Stream Deck 같은 전용 장치가 있지만, 추가 하드웨어 구매가 부담되거나 책상 공간이 부족할 수 있습니다. 그래서 이미 키보드에 있는 넘패드를 활용하기로 했습니다. Num Lock을 끄면 버튼 덱, 켜면 원래 숫자 입력 — 하나의 키보드로 두 가지 용도를 전환할 수 있습니다.
마우스만으로 조작하고 싶다면 Widget Mode도 있습니다. 넘패드가 없는 키보드를 쓰더라도 화면 위의 버튼을 클릭해서 동일하게 사용할 수 있습니다.
주요 기능
두 가지 입력 모드
Widget Mode (기본) — 마우스 전용 위젯입니다. 창이 항상 표시되고, 넘패드 캡처 없이 마우스 클릭만으로 조작합니다. 넘패드가 없는 노트북이나 텐키리스 키보드에서도 사용 가능합니다.
Shortcut Mode — 넘패드 키로 버튼을 직접 조작합니다. Num Lock OFF 시 창이 표시되면서 넘패드가 버튼에 매핑되고, Num Lock ON 시 창이 숨겨지면서 넘패드가 원래 숫자 입력으로 돌아갑니다.
넘패드 = 버튼 덱 (Shortcut Mode)
물리적 넘패드 레이아웃이 화면의 버튼 그리드에 1:1 대응됩니다.
Num Lock 하나로 모드 전환이 되니, 숫자 입력이 필요할 때는 Num Lock을 켜면 됩니다.
12가지 액션 타입
버튼 하나에 다양한 동작을 할당할 수 있습니다.
| 액션 | 설명 |
|---|---|
| Launch App | 프로그램 실행 (실행 중인 프로세스/시작 메뉴에서 검색 가능) |
| Hotkey | 단축키 전송 (Ctrl+C, Alt+F4 등) |
| Text Input | 텍스트 자동 입력 (클립보드 붙여넣기 모드 지원) |
| Open URL | 웹사이트 열기 |
| Open Folder | 폴더를 탐색기에서 열기 |
| Run Command | 셸 명령 실행 |
| Macro | 여러 동작 순차 실행 (녹화 기능 포함) |
| System Monitor | CPU/RAM 사용률 실시간 표시 |
| Navigate Folder / Parent / Back | 폴더 간 이동 |
| Media Control | 재생/정지/볼륨/음소거/마이크/장치 전환 등 10가지 |
매크로 녹화
복잡한 반복 작업을 자동화할 수 있습니다. Record 버튼을 누르면 키보드와 마우스 입력이 자동 녹화되고, 지연 시간까지 기록됩니다. 키 누르기/떼기, 마우스 클릭, 스크롤까지 8가지 단계를 지원합니다.
- F9 — 녹화 중지 (저장)
- Escape — 녹화 취소
미디어 컨트롤
플러그인 시스템으로 구현된 미디어 제어 기능입니다. 10가지 커맨드를 지원합니다.
- 재생/일시정지, 다음/이전 곡, 정지
- 볼륨 업/다운, 음소거 토글
- 마이크 음소거 토글
- Now Playing — 현재 재생 중인 곡 정보 표시
- Audio Device Switch — 오디오 출력 장치 순환 전환
Play/Pause, Mute, Mic Mute 버튼은 현재 상태에 따라 아이콘이 자동 전환됩니다.
무한 중첩 폴더
버튼 9개로 부족하다면 폴더를 만들면 됩니다. 폴더 안에 폴더를 만들 수 있어 원하는 만큼 버튼을 늘릴 수 있습니다. 왼쪽 트리 패널에서 폴더 구조를 한눈에 보고, 드래그 앤 드롭으로 순서를 변경할 수 있습니다.
자동 폴더 전환
폴더에 앱을 매핑해두면, 해당 앱이 포커스될 때 자동으로 폴더가 전환됩니다. 예를 들어 Photoshop 폴더를 만들고 photoshop.exe를 매핑하면, Photoshop을 클릭하는 순간 관련 단축키 버튼이 자동으로 나타납니다.
앱 찾기 기능
Launch App 설정 시 실행 파일 경로를 직접 입력할 필요가 없습니다. Find App 버튼으로 현재 실행 중인 프로세스나 시작 메뉴 바로가기에서 앱을 선택하면, 경로/작업 디렉터리/아이콘이 자동으로 채워집니다.
10가지 테마
Dark, Light, Solarized Light, Midnight, Emerald, Violet, Nord, Dracula, Amber, Cyber — 10가지 테마를 지원하며 설정에서 즉시 전환됩니다.
포커스를 빼앗지 않는 UI
SoftDeck 버튼을 클릭해도 현재 작업 중인 앱의 포커스가 빠지지 않습니다. 게임 중에 볼륨을 조절하거나, 문서 작성 중에 단축키를 실행해도 작업이 중단되지 않습니다. 보더리스 창모드 게임에서도 완벽히 동작합니다.
설정 내보내기 / 가져오기
전체 설정을 JSON으로 내보내고 가져올 수 있습니다. 개별 폴더 단위로도 가능해서, 만들어둔 버튼 구성을 다른 사람과 공유하거나 다른 PC로 옮길 수 있습니다. 아이콘 파일도 base64로 포함되어 한 파일로 완결됩니다.
설치 및 실행
설치 불필요 — bat 파일 하나로 끝
- 저장소를 다운로드하거나 클론합니다
SoftDeck.bat를 더블클릭합니다
첫 실행 시 Python 임베디드 배포판 + 의존성을 자동으로 다운로드·설치하고, 이후에는 바로 실행됩니다. Python을 따로 설치할 필요가 없습니다.
소스에서 직접 실행
시스템에 Python이 이미 있다면:
pip install -r requirements.txt
python main.py
Windows 전용 앱입니다 (pywin32, pycaw 등 Windows API 사용).
기본 구성 미리보기
설치 직후 기본 설정으로 바로 사용할 수 있습니다.
Root (메인 화면)
미디어 컨트롤 + 시스템 모니터 + 앱 폴더 이동이 기본 세팅되어 있습니다.
Apps 폴더
계산기, 메모장, 탐색기, 작업 관리자, 화면 캡처, 명령 프롬프트, YouTube, Google 등 자주 쓰는 앱과 사이트 바로가기가 들어 있습니다.
Shortcuts 폴더
복사/붙여넣기/되돌리기/잘라내기/전체선택/저장/스크린샷/PC 잠금 등 자주 쓰는 단축키가 매핑되어 있습니다.
예제 폴더 (자동 추가)
첫 실행 시 아래 예제 폴더가 자동으로 추가됩니다.
- Media — 미디어 컨트롤 모음 (재생/볼륨/음소거/마이크/Now Playing/장치 전환)
- 폴더 — 자주 쓰는 폴더 바로 열기 (사진/문서/다운로드/바탕화면)
- 가상 데스크톱 — Windows 가상 데스크톱 단축키 (전환/생성/닫기/작업 보기)
버튼 꾸미기
각 버튼에 아이콘, 라벨 색상, 폰트 크기를 개별 설정할 수 있습니다. 아이콘 위에 라벨이 겹쳐 표시되며, 텍스트가 버튼 폭을 넘으면 자동 마키 스크롤됩니다. 드래그 앤 드롭으로 버튼 위치를 교환하거나, 복사/붙여넣기로 같은 설정을 여러 위치에 빠르게 복제할 수 있습니다.
기술 스택
| 항목 | 사용 기술 |
|---|---|
| UI 프레임워크 | PyQt6 |
| 키보드 훅 | 자체 C DLL (numpad_hook.dll) + rundll32 호스팅 |
| 미디어 제어 | pycaw (볼륨/음소거) + WinRT SMTC (재생 상태) |
| 시스템 정보 | psutil (CPU/RAM) |
| 매크로 녹화 | pynput (키보드/마우스 이벤트) |
| 윈도우 관리 | Win32 API (ctypes + pywin32) |
| 플러그인 | pkgutil 기반 자동 발견 시스템 |
왜 넘패드 훅에 DLL을 쓰나요?
PyInstaller로 빌드된 exe에서는 WH_KEYBOARD_LL 훅의 키 억제(suppress)가 Windows에 의해 무시됩니다 (서명되지 않은 실행 파일 보안 제한). 그래서 Windows 시스템 바이너리인 rundll32.exe가 DLL을 호스팅하는 구조를 사용합니다. 기업 보안 소프트웨어가 새로 생성된 exe는 삭제하지만 dll은 남겨두는 문제도 해결됩니다.
마무리
SoftDeck는 이미 가지고 있는 키보드 넘패드를 활용해서 Stream Deck의 핵심 기능을 무료로 구현한 앱입니다. Widget Mode를 쓰면 넘패드 없이 마우스만으로도 사용할 수 있습니다.
- 설치 불필요 (bat 더블클릭)
- 12가지 액션 타입 + 매크로 녹화
- 무한 중첩 폴더 + 자동 전환
- 10가지 테마
- 포커스를 빼앗지 않는 UI
- 설정 내보내기/가져오기
- 플러그인으로 확장 가능
'프로그래밍 > 기타' 카테고리의 다른 글
| SoftDeck — An Open-Source App That Turns Your Numpad Into a Personal Stream Deck (0) | 2026.03.01 |
|---|---|
| 윈도우 자동 클릭 프로그램 만들기 - 무빙 클릭커 (소스 & 실행파일 포함) (0) | 2025.05.28 |
| IONIC - has unexpectedly closed (exit code 3). (0) | 2019.12.11 |
| VSCode Settings Sync 플러그인 사용법 (0) | 2019.12.05 |