制作 AppleScript 程序来侦听系统范围内的快捷方式

2024-03-22

我想创建某种后台进程来侦听所有击键事件并相应地执行操作(例如,如果在 Finder.app 中按下 CMD-A,或更复杂的事情,例如创建快捷方式的序列,则执行一些操作,如emacs..)

但是我如何在 SnowLeopard 上监听系统范围内的按键呢? 我想到了Applescript..但什么也没找到..
(我也擅长 ruby​​,实际上打算使用 rb-appscript)

thanks!


如果你真的想捕获系统范围内的所有击键,你需要CG事件点击 http://developer.apple.com/Mac/library/documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference.html#//apple_ref/c/func/CGEventTapCreate。我认为它不能直接用于 AppleScript,也许在 10.6 上你可以使用AppleScriptObjC。当然,Ruby 应该可以通过桥梁支撑 http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/RubyPythonCocoa/Articles/GenerateFrameworkMetadata.html.

然而,系统范围的键盘监听器会被频繁调用。我建议改用 C 或 Obj-C 编码,这样会更有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

制作 AppleScript 程序来侦听系统范围内的快捷方式 的相关文章

随机推荐

  • mapboxgl.Marker如何去除

    我习惯了 参考https docs mapbox com mapbox gl js example drag a marker https docs mapbox com mapbox gl js example drag a marker
  • 使用 Gradle 和 Kotlin 构建自执行 JAR

    为了开始使用 我编写了一个简单的 Kotlin 源文件和一个 Gradle 脚本文件 但我不知道如何将 main 函数添加到清单中 以便 JAR 可以自行执行 这是我的 build gradle 脚本 buildscript reposit
  • 如何从 Python Spark 脚本进行日志记录

    我有一个运行的 Python Spark 程序spark submit 我想在其中放入日志语句 logging info This is an informative message logging debug This is a debu
  • 如何取消静音(并关闭自动播放)二十七岁的 YouTube 视频?

    I have YouTube 上的讲座 https www youtube com watch v 1dYAYBNU6qM我想用作标题电影我的二十七岁儿童主题网站 https cjshayward com我想要有声音但不自动播放 在 You
  • 如何在 Jenkins 中只执行最近排队的作业?

    我在 Jenkins 中有一个提交构建项目 它在完成时安排了一个验收构建项目 由于提交的速度比验收构建作业完成的速度要快 因此在很短的时间之后 现在有six排队接受构建作业 我希望验收构建项目像 轮询 SCM 功能一样工作 完成后 启动最近
  • 使用 AmazonServerlessApplicationRepositoryClient 部署 AWS 无服务器 lambda 应用程序不起作用?

    我想通过 C 控制台应用程序部署 ASP Net Core Web 应用程序项目 这意味着我正在尝试在 AWS 上创建无服务器 lambda 应用程序 而无需使用 AWS Toolkit 或 CLI 命令 我想使用 AWS SDK 来执行此
  • Titan-1.0.0+Hbase-0.98.20使用java远程模式连接错误

    我正在学习Titan数据库 我已经在本地模式下成功运行了它 现在 我尝试在 Titan 文档中介绍的 远程服务器模式 下使用 Titan 数据库 我的 Titan 版本是 Titan 1 0 0 hadoop1 我的 LAN 中有集群 包括
  • launchd plist 中无法识别 LaunchEvents 键(检测 USB 设备)

    我想在 USB 设备插入 Mac OS X 系统时启动特定的应用程序 我已经按照中给出的食谱进行了操作这个帖子 https stackoverflow com a 12259762 558639 但看来LaunchEvents无法识别密钥
  • sizeof如何知道操作数数组的大小?

    这可能是一个愚蠢的问题 但是当您不传入数组中的元素数量时 sizeof 运算符如何知道数组操作数的大小 我知道它不会返回数组中的总元素 而是返回字节大小 但为了得到它 它仍然必须知道数组何时结束 只是好奇这是如何工作的 sizeof在编译时
  • 从标准 cookie 格式转换为 LibCurl cookie jar 格式

    有没有方便的工具 代码可以转换标准 cookie 字符串格式 e g NAME1 VALUE1 NAME2 VALUE2 to the libCURL cookie jar 格式 e g netscape com TRUE FALSE 94
  • 二维宇宙飞船运动数学

    我正在尝试制作一款自上而下的太空飞船游戏 我希望动作更加真实 360度 有惯性 重力等 我的问题是我可以毫无问题地让船以惯性移动 360 但我需要做的是限制发动机的运行速度 同时不限制其他推 拉船的力 因此 如果发动机速度最大为 500 并
  • Java 哈希表与对象引用的问题

    我有一个哈希表 例如 HashTable ht 1 1 2 1 3 1 现在 我像 Integer foo Integer 1 一样实现它 并像这样声明哈希表 HashTable ht foo foo 2 foo 3 foo 现在 据我了解
  • 如何在多地点场景下配置Prometheus?

    我喜欢使用 Prometheus 进行监控和警报 到目前为止 我的所有目标 节点和容器 都与监控服务器位于同一网络上 但现在我面临一个场景 我们将应用程序堆栈 作为一堆 Docker 容器 部署到网络中的多台客户端计算机 几乎所有客户端网络
  • ActiveRecord::未知属性错误?

    我刚刚将一个应用程序推送到 Heroku 生产环境 基本上有一个Bus模型 它有一个seats属性 class Bus lt ActiveRecord Base attr accessible seats other attributes
  • Blazor 客户端 - 错误 NETSDK1082:“浏览器-wasm”

    我创建了一个简单的 blazor wa 项目 并选择了托管选项 在项目的客户端 它自动附带
  • 如何通过 Android 设备上的后台服务使屏幕闪烁/闪烁?

    我计划做后台服务 这将使屏幕闪烁 闪烁 直到用户触摸屏幕 我不知道如何使屏幕闪烁的方法 只知道可以通过生成的活动通过亮度和控制来完成 想要在屏幕上进行颜色变化 即黑白或屏幕开 关 的闪烁 以使其比亮度更明显 我用它来闪烁屏幕 在这段代码中我
  • 使用 python 中的 selenium webdriver 从父 xpath 中找出所有子元素 xpath

    我可以通过 xpath 找到该元素driver find element by xpath id app table tbody tr 1 td 1 但有什么方法可以返回所有子元素 例如标签和标签 xpath tr td class div
  • mail() 函数的更多参数[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我一直在努力寻找一个地方来帮助我解决这个问题 但我得到的大多数答案都令人困惑 或者效果不佳 我想要一个可以发送超过 8 条信息的邮件功能
  • Maven 的新功能:使用阴影插件和第 3 方 jar

    这应该很简单 但我无法解决它 我需要使用第 3 方 jar 创建一个 uberjar 我已经按照这些说明进行操作 包含非 Mavenized 依赖项 以便与 maven shade plugin 一起使用 https stackoverfl
  • 制作 AppleScript 程序来侦听系统范围内的快捷方式

    我想创建某种后台进程来侦听所有击键事件并相应地执行操作 例如 如果在 Finder app 中按下 CMD A 或更复杂的事情 例如创建快捷方式的序列 则执行一些操作 如emacs 但是我如何在 SnowLeopard 上监听系统范围内的按