Coder Social home page Coder Social logo

Comments (7)

kiding avatar kiding commented on June 8, 2024 1

아하, 감사합니다. 아까는 다른 일을 하느라 에러 코드 확인을 못했는데, 찾아주신대로 Karabiner와의 충돌이 맞아 보입니다. 버그 재현이 비교적 쉬워보이고, 새로운 키보드를 구매하지 않아도 될 것 같아 다행이네요. 다만 관련 이슈 pqrs-org/Karabiner-Elements#2560 도 확인해보니 이건 생각보다 해결이 쉽지 않아보입니다.

카라비너 사용중: 외부키보드 option, command 위치변경한 설정만 존재함

혹시 Karabiner에서 이 기능만 사용하고 계신다면 Karabiner 대신 macOS 기본 기능으로 대체하실 수 있습니다. "시스템 설정 > 키보드 > 키보드 단축키... > 보조 키" 메뉴에서 키보드 기기별로 다르게 사용할 보조 키를 매핑할 수 있습니다.

image

from sokim.

Su-Yong avatar Su-Yong commented on June 8, 2024 1

아하, 감사합니다. 아까는 다른 일을 하느라 에러 코드 확인을 못했는데, 찾아주신대로 Karabiner와의 충돌이 맞아 보입니다. 버그 재현이 비교적 쉬워보이고, 새로운 키보드를 구매하지 않아도 될 것 같아 다행이네요. 다만 관련 이슈 pqrs-org/Karabiner-Elements#2560 도 확인해보니 이건 생각보다 해결이 쉽지 않아보입니다.

카라비너 사용중: 외부키보드 option, command 위치변경한 설정만 존재함

혹시 Karabiner에서 이 기능만 사용하고 계신다면 Karabiner 대신 macOS 기본 기능으로 대체하실 수 있습니다. "시스템 설정 > 키보드 > 키보드 단축키... > 보조 키" 메뉴에서 키보드 기기별로 다르게 사용할 보조 키를 매핑할 수 있습니다.

image

감사합니다 시스템에 있는 기능으로 교체하였습니다 시스템에 있는 키 설정으로 안바뀐거여서 카라비너를 추가 설치했는데 이건 macos 14.2.1버그였나봅니다

from sokim.

Su-Yong avatar Su-Yong commented on June 8, 2024

macOS 14.3 버전 업데이트 이후에도 동일 증상 나타나는것으로 확인되었습니다

from sokim.

kiding avatar kiding commented on June 8, 2024

자세한 버그 리포트 감사드립니다. 혹시 어떤 블루투스 키보드 모델을 사용하고 계신가요? 저도 다른 블루투스 키보드를 사용하고 있지만 같은 증상이 나타나지 않는 것으로 보아 특정 모델이나 칩셋의 작동 방식에 국한된 문제라는 생각이 듭니다.

예상되는 버그 발생 로직은

  1. 맥이 잠자기에 들어갔음을 감지하면 입력기가 입력 모니터링을 중단하고 초기화합니다. (IOHIDManagerClose)
  2. 잠자기 과정에서 블루투스 키보드가 OS에서 정상적으로 등록 해제되지 않거나 하는 등의 작동이 발생합니다. (I/O Registry)
  3. 맥이 잠자기에서 깨어났음을 감지하면 입력기가 입력 모니터링을 새롭게 시작하려고 합니다. (IOHIDManagerCreate, IOHIDManagerSetDeviceMatching, …, IOHIDManagerOpen)
  4. 이때 2. 의 기기를 포함하여 모니터링을 시작하려고 하면서 오류가 발생합니다.

from sokim.

Su-Yong avatar Su-Yong commented on June 8, 2024

자세한 버그 리포트 감사드립니다. 혹시 어떤 블루투스 키보드 모델을 사용하고 계신가요? 저도 다른 블루투스 키보드를 사용하고 있지만 같은 증상이 나타나지 않는 것으로 보아 특정 모델이나 칩셋의 작동 방식에 국한된 문제라는 생각이 듭니다.

예상되는 버그 발생 로직은

  1. 맥이 잠자기에 들어갔음을 감지하면 입력기가 입력 모니터링을 중단하고 초기화합니다. (IOHIDManagerClose)
  2. 잠자기 과정에서 블루투스 키보드가 OS에서 정상적으로 등록 해제되지 않거나 하는 등의 작동이 발생합니다. (I/O Registry)
  3. 맥이 잠자기에서 깨어났음을 감지하면 입력기가 입력 모니터링을 새롭게 시작하려고 합니다. (IOHIDManagerCreate, IOHIDManagerSetDeviceMatching, …, IOHIDManagerOpen)
  4. 이때 2. 의 기기를 포함하여 모니터링을 시작하려고 하면서 오류가 발생합니다.

증상이 나타날때의 환경과 상세한 증상을 모두 적어두겠습니다

  1. 모델명: DURGOD k320w (토체티 무선이라고 알려진 제품입니다)
  2. 외부 기기 상태
    • usb허브로 외부 모니터, 마우스(Logitech g304) 동글을 연결해둠
    • 맥 본체는 충전중인 상태
    • 블루투스로 키보드가 연결되어있음
    • 클램쉘 모드로 사용중
  3. 소프트웨어
    • 카라비너 사용중: 외부키보드 option, command 위치변경한 설정만 존재함 (카라비너 사용전에도 이증상이 간혹 발생했어서 카라비너 문제는 아닐듯 합니다)
    • 입력소스: mac기본 영문 자판, sokIM
    • mac 키보드 설정
      image
  4. 증상
    • qwerty자판 입력 불가
    • 키보드를 mac용 영문 키보드로 강제 변경시 영어 입력만 가능
    • ctrl, option, command와 같은 키들은 모두 입력 가능한 상태

추후에 테스트를 계속 진행하면서 업데이트 되는부분은 댓글로 남기도록 하겠습니다

from sokim.

Su-Yong avatar Su-Yong commented on June 8, 2024

방금 테스트 해본 결과 usb허브를 빼고 오직 맥과 키보드만 블루투스로 연결된 상태에서도 동일한 증상이 나타납니다
참고로 해당제품은 블루투스로 2대를 연결할수 있는 제품입니다 아마 멀티페어링 문제가 원인일수도 있을듯합니다

from sokim.

Su-Yong avatar Su-Yong commented on June 8, 2024

방금 테스트 해본 결과 usb허브를 빼고 오직 맥과 키보드만 블루투스로 연결된 상태에서도 동일한 증상이 나타납니다 참고로 해당제품은 블루투스로 2대를 연결할수 있는 제품입니다 아마 멀티페어링 문제가 원인일수도 있을듯합니다

카라비너 문제가 맞았습니다 ㅠㅠ 카라비너 설치전에는 아마 구버전을 사용하고 있어서 착각한듯합니다!
https://stackoverflow.com/questions/65470681/iokit-call-fails-with-kioreturnexclusiveaccess-when-another-app-is-running

해당 문제에 대해서 이미 stackoverflow에도 올라온게있네요 이슈는 수정하도록 하겠습니다

from sokim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.