oxox333 2019-12-02 10:45 采纳率: 50%
浏览 357

mac Karabiner Devices里面是空的 连接了蓝牙键盘 该怎么锁住内置键盘

mac Karabiner失效 该怎么锁住内置键盘

新买的mac Air 因为是蝶式键盘,敲的不舒服,另买了一个苹果的蓝牙键盘,直接放在电脑上.但是经常会压到苹果的内置键盘,就想有什么办法把内置键盘锁住.网上说可以用Karabiner,但是我Devices里面是空白的:
图片说明

我的系统设置里面也是打开了的:

图片说明

别人的Karabiner:

图片说明

有哪位大神知道的指导一下呀!

##

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-29 05:56
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要解决这个问题,您需要在Mac OS中安装一个名为"Karabiner"的插件或库。这个库可以用于管理各种快捷键和其他自定义配置。以下是一个基本步骤来安装Karabiner:

    1. 首先确保您的Mac已连接到互联网,并且已经启用Safari浏览器。
    2. 打开Safari浏览器并转到以下URL:https://github.com/karabiner-dev/karabiner-elements/releases/latest
    3. 点击页面底部的“下载”按钮。
    4. 下载完成后,双击打开压缩包中的文件(例如karabiner-elements-darwin.zip)。
    5. 在解压后的目录中找到名为karabiner-elements-darwin的文件夹。

    接下来,按照以下步骤操作:

    1. karabiner-elements-darwin文件夹移动到您的Mac的Applications文件夹中。如果已经有类似的文件夹,请删除它们或者稍后重新尝试。
    2. 您还需要将Karabiner元素添加到您的Keychain安全存储。您可以从Safari浏览器中访问以下链接:https://github.com/karabiner-dev/karabiner-elements/wiki/Getting-started#add-karabiner-elements-to-your-keychain-safety-store
    3. 安装完成后,您可以开始创建新的Profile或编辑现有的Profile。请注意,这些Profile通常会包含一些预设的快捷键,因此在创建新Profile时应避免更改这些默认值。

    如果您想要锁定内置键盘,可能需要使用Karabiner库的某些特定功能。以下是一些可能有用的特性:

    1. 使用caps_lock_led属性,您可以控制内置键盘上的Caps Lock指示灯的状态。
    2. vendor_idproduct_id属性可以帮助识别设备的制造商和型号。这可能是锁定特定设备的关键信息。
    3. type属性可帮助确定设备类型。例如,一些设备可能具有物理按键而另一些则没有。

    为了锁定内置键盘,您可能需要编写一个脚本来监控按键输入并触发某种锁定机制。这是一个简化的示例:

    import karabiner_elements as ke
    
    def lock_keyboard():
        # 获取设备ID
        vendor_id = ke.device_vendor_id()
        product_id = ke.device_product_id()
    
        # 创建一个新的profile
        profile_name = "KeyboardLock"
        profile = ke.Profile(profile_name)
    
        # 添加一个Caps Lock开关
        if vendor_id == "Apple" and product_id.startswith("iPad"):
            caps_lock_profile = profile.add_function(key="CAPS_LOCK", enabled=True)
            caps_lock_profile.set_event_callback(callback=lambda: print("Caps Lock engaged"))
    
        # 如果设备支持物理按键,也可以添加相应的功能
        # ...
        
        ke.save_profile(profile)
        print(f"Locked {profile_name} on device with ID: {vendor_id}:{product_id}")
    
    lock_keyboard()
    

    请注意,这只是一个简单的示例,实际锁定方法可能会更复杂。根据您具体的需求,可能需要对上述代码进行调整。

    评论

报告相同问题?