제글을 오래전부터 보셨다면 Pulse에 대해 욕을 한가득 했던적이 있습니다만 그건 아직 Pulse가 안정화 되기 전이었고 Pulse를 쓰는 프로그램보다 ALSA에 직접 접근해서 쓰는 프로그램이 많았기에 ALSA-Pulse-ALSA라는 요상한구조로 딜레이가 심했거든요. OSS-ALSA-PULSE-ALSA라는 더 심각한구조도 있었고요.
그러나 지금은 Pulse를 아주 잘 쓰고 있습니다. 믹싱과 리샘플을 잘 해주고 있고 이젠 Pulse를 쓰는게 기본이라 쓰는데 지장이 없습니다. 딜레이도 충분히 없어졌고요.
그런데 Pipewire라는게 코로나가 한창이던 시기에 등장합니다. 이건 뭔가 싶었는데 pulse를 대체할 또다른 오디오 서버라고 합니다.
근데 저는 이젠 늙은이라(...) 쉽게 못 바꾸겠더군요. 그래서 Pulse에 눌러앉았는데 지금시점(2026년)에는 Pulse가 쫓겨나고 Pipewire가 거의 대부분 배포판에 적용되었습니다. 그 이유는 간단하게도 "Pipewire가 더 효율적이고 Pulse인터페이스도 잘 된다." 라는 것이었지요.
왠지 Pulse의 초창기 모습은 보는것 같은데 JACK쓰는 사람들도 Pipewire에 만족한다고 합니다. 바꾸는것도 쉽다고 하네요.
pipewire와 pipewire-pulse패키지만 설치하세요. 전환과 호환 모든게 끝납니다. 이젠 바뀌어야 할 시기!
요즘 스마트폰은 3.5단자가 없지요. 그래서 보통은 무선이어폰을 쓰거나 C타입 이어폰을 사용해서 이어폰을 사용합니다.
그런데 이미 3.5단자가 달린 제 귀에맞는 이어폰이 있다면 많이 아쉽습니다. 개인적으로는 비싼건 아니지만 제 귀에 꼭 맞는 이어폰이 있는데 3.5단자라 요즘 스마트폰에서는 쓸 수가 없습니다.
저 처럼 이미 쓸만한 유선 이어폰이 있다면 요즘 스마트폰은 많이 아쉬운건 사실입니다.
그래서 다이소등지에선 싼가격에 기존 C타입포트에서 3.5단자를 만드는 제품을 팔고있습니다. 가격도 다이소스럽게 저렴하지요.
그래서 좋다고 바로 연결했는데 음질은 다이소인걸 감안하면 그냥 저냥 씁니다. 시중에 파는 저가형 USB사운드카드 생각하면 될 정도입니다.
그런데 이게 소리가 좀 작아지거나 하면 소리가 툭툭 끊깁니다. 저만 그런것도 아니고 많은분들이 해당증상을 호소하더군요.
대충 확인해보니 해당 젠더에는 디지털신호를 아날로그로 변환하는 DAC칩이 상당히 안 좋은 것이 들어가서 꼼수를 썼는데 배터리를 집어먹는 문제로 인해 사운드신호가 기준보다 작으면 DAC의 전원을 끈다고 합니다. 문제는 다시 DAC가 켜질때까지 딜레이가 있다보니 소리가 툭툭 끊기는거죠. 가격 생각하면 이해가 되는군요. 만약 좋은 이어폰에 이런 구린거 낄거면 그냥 쓰지 말라고 하더군요. 대신 삼성에서 만든 정품 젠더를 쓰면 한방에 해결된다고 합니다. (애플젠더도 쓰면 안된다고 합니다. 애플은 다이소보단 낫지만 저가칩셋 박아서 비싸게 팔기때문에 아이폰도 삼성제품을 쓰라는군요. 2026년 현재는 삼성제품이 단종된 관계로 애플 제품이 더 낫다고 하네요. 아이폰은 그냥 애플꺼 쓰세요.)
하지만 어차피 음질보단 귀가 편해야하는 저로서는 이어폰보다 비싼 젠더를 쓰기엔 돈이 아까웠습니다.
그래서 대충 생각해봤는데 소리가 작아지면 끊기는 것이니 소리를 꾸준히 낸다면 DAC가 계속 켜진다는 것이고 끊김현상이 사라진다는 의미가 됩니다.
어차피 제 귀는 막귀이고 들리기만하면 장땡이기 때문에 귀에 거슬리지 않을 소리를 섞어준다면 별문제 없지 않을까 싶더군요.
열심히 찾다보니 콜백 함수를 찾을 수 있었습니다. key_callback이라는 구조로 콜백하게 되어 있군요. 그러면 key_callback을 찾아봅니다.
여기저기 있었지만 찾아본 결과 keyboard.c에서
여기 있는 이 부분이 바로 중요한 부분이었습니다.
즉 keyboard_inject_event함수가 호출 될 때 해당 부분을 콜백하면서 작동되는 구조더군요.
그리고 해당 함수를 호출 하는 부분은 위쪽에 있었습니다.
-
transition_to 함수에서 키코드를 받아이런 저런 조합을 하는 부분이 있었습니다.
그래서 생각을 한 것이 해당 키보드의 SYM키 위치가 좋아보이더군요. 그래서 이걸 0xF2로 바꿔봤습니다. 0xF2가 한국키보드의 한/영 키를 의미합니다. 요즘은 그냥 오른쪽Alt키를 더 많이 쓰는 거 같지만 위 스크린샷의 109번째 줄 처럼 key=0xF2로 바꿔봤습니다.
그리고 해당 코드를 빌드 후에 키보드에 입혀봤습니다.
설명서를 보시면
여기 있는 해당 부분을 누르면서 USB를 연결하면 부트로더 모드로 진입하고 이때 뜨는 드라이브에 빌드된 uf2 파일을 복사하면 알아서 펌웨어가 입혀집니다.