Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/cs2-gaming-profile.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ tags: [gaming, cs2, linux, performance]

# CS2 개인 게임 프로필과 서버 자원 공존

> 2026-10-02: 마우스 시점 이동 축 누락을 복구하고 실제 적용·사용자 해결 확인을 완료했다.
> [원인 및 검증 기록](cs2-mouse-axes-20261002.md).

Vault 연결 미설정. 이 Markdown이 문서 원본이다.
실제 할 일은 [이슈 #13](https://github.com/Jaeman-Lee/dotfiles/issues/13),
설치 작업은 [이슈 #11](https://github.com/Jaeman-Lee/dotfiles/issues/11),
Expand Down
46 changes: 46 additions & 0 deletions docs/cs2-mouse-axes-20261002.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# CS2 마우스 시점 이동 장애 원인과 검증

2026-10-02. Obsidian Vault 연결 미설정. 이 문서가 운영 원본이다.
작업 상태: [Issue #26](https://github.com/Jaeman-Lee/dotfiles/issues/26).

## 직접 원인과 조치

CS2 사용자 키 설정에 `analogbindings`가 없었다. 마우스 클릭 바인딩은 있으나
가로·세로 이동을 시점 회전에 연결하는 `MOUSE_X=yaw`, `MOUSE_Y=pitch`가 빠져 있었다.
게임 내장 `user_keys_default.vcfg`의 기본값을 [workstation.cfg](../gaming/workstation.cfg)에
명시했다. 감도 2.6과 m_pitch/m_yaw 0.022는 변경하지 않았다.

2026-09-27 진단 백업의 사용자 키 설정도 320 bytes이며 동일한 이동 축 누락 상태였다.
기존 프로필 도입 커밋 `79a9400`은 MOUSE1/MOUSE2와 이동 키를 설정하지만 두 마우스 축을
포함하지 않았다. 이 프로필은 누락 상태를 복구하지 못했다. 최초에 누가 어떤 쓰기 작업으로
사용자 설정의 축을 누락시켰는지는 확인하지 못했으며, 프로필이 기존 축을 삭제했다고 단정하지 않는다.
이번 OS SSD 이전으로 새로 생긴 누락이라고 볼 근거도 없다.

## 실제 적용 검증

1. 수정 원본과 설치된 두 workstation.cfg의 내용 일치 및 내장 기본 축 값 일치 확인.
2. 실행 중 파일 변경만으로는 적용되지 않았다. 사용자 재요청 후 CS2에 정상 종료 메시지를 보내고 Steam으로 재실행했다. Steam과 OS는 재시작하지 않았다.
3. 재실행 PID 16652의 게임 로그에서 2026-10-02 01:46:36 `execing workstation.cfg` 확인.
4. 게임이 직접 저장한 사용자 키 설정에 `analogbindings` 및 두 축 값이 생성된 것을 확인.
5. 사용자가 “해결됬으니까 원인 제대로 소명해”라고 실제 해결을 확인했다.

`-condebug +exec verify-cs2-input.cfg`는 이번 실행에만 추가했다. 영구 Steam 시작 옵션은
변경하지 않았다. [검증용 cfg](../gaming/verify-cs2-input.cfg)의 echo/query 출력은 로그에서
확인되지 않았으므로 검증 근거로 사용하지 않았다. 설정 실행 로그와 게임이 저장한 값,
사용자의 실제 플레이 확인을 근거로 삼는다. 사전 합성 키 입력과 화면 캡처만으로는
물리 마우스 정상 동작을 입증하지 못했다.

개인 원본 설정·스크린샷·실행 로그는 Git에 넣지 않는다. 초기 console.log symlink는 게임이
일반 파일로 교체했으므로 현재 실행 로그는 게임 폴더에 있다. 실행 중 로그를 강제 이전하지 않는다.

## 잘못된 대응

- 사용자의 마우스 고정/터미널 문자 입력 설명을 창 포커스 문제로 단정해 불필요한 포커스 변경을 했다.
- Codex 기록 이전과 게임 대응을 섞어 처리했다. Codex 첫 재시작에서 터미널을 자동으로 열어 추가 혼란을 만들었다.
- 게임 자체 기본 설정으로 확인할 수 있는 내용을 웹 검색하며 진단을 늦췄다.
- 파일 수정과 실행 중 게임 적용을 구분하지 못한 채 사용자에게 확인을 반복했다.
- 이전의 게임 프로필 검증은 클릭·이동 키와 실행 설정 위주였으며 실제 마우스 시점 이동 검증이 부족했다.

터미널에 원치 않는 문자가 나타난 원인은 별도로 확정하지 못했다. 마우스 축 복구로 이 현상까지
해결되었다고 주장하지 않는다. 향후 게임 입력 변경은 저장된 키/analogbindings 확인,
실제 적용 여부 확인, 실제 플레이 확인을 구분해서 기록한다.
10 changes: 10 additions & 0 deletions gaming/verify-cs2-input.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Run explicitly with -condebug; checks the running game's bindings.
exec workstation.cfg
echo "CS2_INPUT_VERIFY_BEGIN"
bind "MOUSE_X"
bind "MOUSE_Y"
bind "ESCAPE"
sensitivity
m_pitch
m_yaw
echo "CS2_INPUT_VERIFY_END"
3 changes: 3 additions & 0 deletions gaming/workstation.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ bind "d" "+right"
bind "SPACE" "+jump"
bind "CTRL" "+duck"
bind "SHIFT" "+sprint"
// Explicit CS2 default mouse axes; preserve the user's sensitivity.
bind "MOUSE_X" "yaw"
bind "MOUSE_Y" "pitch"
bind "MOUSE1" "+attack"
bind "MOUSE2" "+attack2"
bind "r" "+reload"
Expand Down
Loading