내가 경험한 것/2

8bitdo 키보드와 슈퍼키 키맵핑(with Hammerspoon)

nr2p 2024. 9. 4. 01:03
반응형

취업후 꾸준히 공부를 하기 위해

블로그에도 각오를 적어놨지만

 

 

미룬이가 되어버린... 하하

 

그러던 중 좋은 키보드를 사면 키보드를 치고 싶어 공부를 하게된다는 이야기를 듣고

홀린듯 키보드를 구매하게 되었습니다!

 

그 키보드는 바로바로 "8BitDo 레트로 기계식 게이밍 키보드" 입니다.

 

 

 

저는 쿠팡에서 87,900원에 구매를 했고

9/5 도착 예정이였는데 그것보다 이틀 빠른 9/3일에 도착을 했습니다.

 

8bitdo 구매하러가기>> https://link.coupang.com/a/bQBcSx

 

8BitDo 레트로 기계식 게이밍 키보드 핫스왑 87키 듀얼 슈퍼버튼 포함 - 무선키보드 | 쿠팡

쿠팡에서 5.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 6 제품도 바로 쿠팡에서 확인할 수 있습니다.

www.coupang.com

 

풀샷은 이렇습니다..!

 

레트로한 느낌이 너무 예쁘지 않나요?

 

디자인 너무 예쁘고

카일박스백축이 생각보다 타건해봤을 때 느낌이 좋더라구요! (전 평소 적축과 광축을 선호합니다.)

 

대신 좀 시끄러워서ㅋㅋㅋ 회사에서 쓰기엔 무리라고 느껴지고요

키보드가 상당히 무겁습니다.

 

슈퍼키 버튼은 오락실 버튼 같은 느낌일거라고 예상했는데

그냥 스위치 하나에 큰 키캡을 올려둔 느낌이에요.. 대실망

 

그리고 유선이라서 생각보다 쓸 때 불편하더라구요ㅜㅜ

 

 

참고로 저는 

왼쪽은 'pnpm dev 엔터' , 오른쪽은 엔터

이런식으로 슈퍼키를 구성했어요!

 

 

슈퍼키 구성은 다음과 같이 했어요.

 

1. 오른쪽 슈퍼키 "엔터"

- 별표키를 매핑 표시등이 켜질때까지 누르기 > 매핑할 키 + 슈퍼키 입력 > 끝!

 

2. 왼쪽 슈퍼키 "pnpm dev 엔터"

- f6 + p 를 왼쪽 슈퍼키에 매핑

- claude ai 와 hammerSpoon 을 사용하여 f6 + p 를 입력했을 때 pnpm dev 엔터를 입력하게끔 hammerspoon 에 스크립트 적용

 

hammerspoon 다운로드 > 이것저것 설정 허용 > hammerspoon 실행 > File > OpneConfig > 스크립트 작성 > File>ReloadConfig > 끝!!

 

클로드가 짜준 스크립트

-- F6 키가 눌렸는지 추적하는 변수
local f6Pressed = false

-- 'pnpm dev' 를 입력하는 함수
local function typePnpmDev()
    hs.eventtap.keyStrokes("pnpm dev")
    hs.timer.usleep(10000)  -- 10ms 대기
    hs.eventtap.keyStroke({}, "return")  -- 엔터 키 입력
end

-- 키 이벤트를 감시하는 이벤트 탭 생성
local keyWatcher = hs.eventtap.new({hs.eventtap.event.types.keyDown, hs.eventtap.event.types.keyUp}, function(event)
    local keyCode = event:getKeyCode()
    local eventType = event:getType()
    
    -- F6 키 코드
    local f6KeyCode = hs.keycodes.map["f6"]
    
    -- P 키 코드
    local pKeyCode = hs.keycodes.map["p"]
    
    if keyCode == f6KeyCode then
        if eventType == hs.eventtap.event.types.keyDown then
            f6Pressed = true
        elseif eventType == hs.eventtap.event.types.keyUp then
            f6Pressed = false
        end
        return true  -- F6 키 이벤트 중단
    elseif keyCode == pKeyCode and eventType == hs.eventtap.event.types.keyDown and f6Pressed then
        hs.timer.doAfter(0.01, function()
            typePnpmDev()
            f6Pressed = false  -- F6 상태 초기화
        end)
        return true  -- P 키 이벤트 중단
    end
    
    return false
end)

-- 이벤트 탭 시작
keyWatcher:start()

 

그러면 짧은 타건 영상을 끝으로 블로그 포스팅은 여기서 마무리하겠습니다!

 

 

 


가격: ㄱㅊ

키감: 만족

소음: 회사에선 못쓸 정도

팜레스트: 필수

무게: 무거움

총평: 만족


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

 

반응형