Keyhac for Mac의 개발 환경 개선

날과 씨


새 맥북 프로를 따낸 건 괜찮았지만, 처음부터 시에라였기 때문에 Karabiner 어떻게 해야 할지 문제가 됐다.먼저Karabiner-Elements로의 이동을 시도했지만 얼마 지나지 않아 실패했고, 의지하는 밧줄keyhac for Mac로도 가장 중요한 설정을 이루지 못하고 막다른 골목에 몰렸다.
Vim을 이렇게 사용하지 못하면 느린 죽음을 맞이할 수 있으니 운 좋게출처가 공개된 keyhac 개선하고 열어주길 바란다.구체적으로 다음은 목표다.
  • 특정 응용으로 ReplaceeKey의 설정을 무효화하는 방법 탐색
  • API 추가 제안or 최악마 개조
  • 버튼을 계속 누르는 오류 개선
  • 최신판은 수정된 것 같은데...
  • Mac 버전도 파이썬 3.5입니다.x로 이동
  • 3.5라고 쓰여 있으면 Pillow를 설치할 수 없음
  • Win 및 Mac 버전 차이점 파악
  • 기본적으로wiki를 따르다


    Python 3.4.x 및 종속성 패키지 설치


    anyenv에서 준비pyenv하고pyenv에 Pythn 3.4.5를 설치한다.어쨌든 virtualenv 같은 건 사용하지 않고 글로벌을 직접 사용합니다.pip3.4 사용(3.4.5의 글로벌을 지정하면pip도 3.4.5의 물건이 된다)wiki에 적힌 아래 포장을 설치한다.
  • Pillow
  • docutils
  • pygments
  • keyhacckit는 같은 층clone에서 각각 체크아웃mac_port으로 나뉘었다.

    블록을 만들다


    Xcodeckit로 구성할 때 오류가 발생합니다.

    Pythhon 제목 디렉터리의 경로 분석


    pyenv를 사용하여 Python 3.4 환경을 준비했기 때문에 제목 디렉터리를 통과할 수 없습니다.

    원래 설정/Library/Frameworks/Python.framework/Versions/3.4/Headers이었으나 이 몇 세대 맥OS에서 /System/Library/Frameworks/Python.framework 이하로 이동했다.만약 여기에 3.4가 있다면 pyenv는 필요없겠죠. 그런데 이동 목적지를 보니 2.7개밖에 없어요. pyenv는 낭비하지 않았어요.
    머리글 디렉토리의 경로를 /Users/<username>/.anyenv/envs/pyenv/versions/3.4.5/include/python3.4m로 변경합니다.

    Redefinition of enumerator 'kVK_RightCommand'

    /path/to/ckit/ckitcore/mac/ckitcore/ckitcore_hook_mac.cpp:49:5: Redefinition of enumerator 'kVK_RightCommand'
    
    enum의 중복 정의 오류입니다.어쨌든 먼저 논평을 했습니다.
    before.cpp
    enum AdditionalVk
    {
        kVK_RightCommand = 0x36,
    };
    
    after.cpp
    enum AdditionalVk
    {
        // kVK_RightCommand = 0x36,
    };
    

    링크 오류


    구축된 마지막 링크에 오류가 발생했습니다.Support Files의 파이톤은 참조 오류이기 때문에 이를 해결할 필요가 있다.단, pyenv에 Python을 설치한 후 static library만 생성하기 때문에dynamic link library--enable-framework를 설치하려면 설치 옵션참조 링크이 필요합니다.
    $ env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.4.5
    
    설치가 완료된 후/Users/<username>/.anyenv/envs/pyenv/versions/3.4.5 이하는 Python입니다.프레임워크가 나타나기 때문에, 눈썹 디렉터리와dylib의 경로를 여기로 변경합니다.
  • 머리글: /Users/<username>/.anyenv/envs/pyenv/versions/3.4.5/Python.framework/Headers
  • dylib: /Users/<username>/.anyenv/envs/pyenv/versions/3.4.5/Python.framework/Python
  • 이렇게 하면 구축에 성공했지만 링크할 때 존재하지 않는 디렉터리를 지정했다는 경고가 나온다.
    어디서 설정되었는지 모르겠지만 TARGEATS의 Library Search Paths에서 오래된 경로를 발견하여 pyenv의 Pythn으로 삼았다.프레임워크를 향합니다.

    이렇게 경고가 사라졌고 ckit의 구축이 완료되었습니다.아직 도착하지 않은 두 개의 코드 경고가 있지만 일단 무시한다.

    keyhac 실행


    위키에는 기호 링크를 붙이라는 지시가 있지만 아무것도 하지 않아도 설치해야 한다.소가 만들어졌으니까 시동을 걸어봐.
    $ python keyhac_main.py -d
    
    다시 오류가 발생하여 유감입니다.
    Traceback (most recent call last):
      File "keyhac_main.py", line 19, in <module>
        import keyhac_keymap
      File "/Users/kodama/Work/keyhac/keyhac_keymap.py", line 17, in <module>
        import accessibility
    ImportError: No module named 'accessibility'
    
    iTerm.앱이 접근성 허가 목록에 들어가지 않았기 때문에 추가해서 실행했지만 같은 오류가 발생했습니다.솔직하게 pip로accessibility를 설치해 보세요.
    $ pip install accessibility
    
    이렇게 되면 키홀릭이 순조롭게 시작된다.

    좋은 웹페이지 즐겨찾기