Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Applescript 用一个键调用键盘快捷键_Applescript_Case_Systemevent - Fatal编程技术网

Applescript 用一个键调用键盘快捷键

Applescript 用一个键调用键盘快捷键,applescript,case,systemevent,Applescript,Case,Systemevent,我在Mac电脑上创建了三个快捷键,可以在任何应用程序中右键单击菜单项: 选择文本时: 大写是Ctrl+C 使小写字母为Ctrl+L 使大写字母为Ctrl+U 这是有道理的,但现在我想创建一个Applescript,用CAPS键调用这些快捷方式 我想要的是: 选择文本时: 双击CAPS将调用Ctrl+C 如果文本为UC,则单击大写将调用Ctrl+L 如果文本为LC,则单击大写将调用Ctrl+U 否则,CAPS将正常工作 有办法做到这一点吗?键盘设置不允许我使用大写字母作为热键/快捷键。我认为这将很

我在Mac电脑上创建了三个快捷键,可以在任何应用程序中右键单击菜单项:

选择文本时:

大写是Ctrl+C

使小写字母为Ctrl+L

使大写字母为Ctrl+U

这是有道理的,但现在我想创建一个Applescript,用CAPS键调用这些快捷方式

我想要的是:

选择文本时:

双击CAPS将调用Ctrl+C

如果文本为UC,则单击大写将调用Ctrl+L

如果文本为LC,则单击大写将调用Ctrl+U

否则,CAPS将正常工作


有办法做到这一点吗?键盘设置不允许我使用大写字母作为热键/快捷键。

我认为这将很难做到,如果不是不可能的话。我以前写过一些应用程序描述来检测大写字母是否锁定。()但是它们的设置很笨拙。并要求运行其他组件,即使我使用或编写了Objective-C应用程序,也意味着必须运行第三方应用程序

最简单的解决方案是使用功能键。您可以使用其中三个键,每个键一个

您可以使用它们将caps lock更改为另一个键(如F19),然后在MacBook的Keyremap4中添加如下内容:

\uuuuuuuuuuuuuuuuuuuxyCode::F19,KeyCode::F19,ModifierFlag::COMMAND\ul

或用于持有钥匙:

\uuuuuuuuuuuuukeycode::F19,KeyCode::F19,KeyCode::VK\u NONE,KeyCode::F19,ModifierFlag::COMMAND\u L,Option::NOREPEAT

您可以使用Automator创建转换为小写/大写的服务。“检查输出”将替换选定的文本并添加一个运行shell脚本操作,如下所示:

export LC_CTYPE=UTF-8
input=$(cat)
grep -q [[:upper:]] <<< "$input" && \
printf %s "$input" | tr [[:upper:]] [[:lower:]] || \
printf %s "$input" | tr [[:lower:]] [[:upper:]]
导出LC\U CTYPE=UTF-8 输入=$(cat) grep-q[:upper:]