我正在尝试设置一个简单的Apple JXA脚本,将着名的耸肩表情符号写入屏幕(它模拟按键我猜)。我尝试的每件事都产生了这个“¯\ _ _(a)_ /¯”。我假设因为我正在使用按键来模拟按键,而我没有日语键盘,我总是会得到它。也许我应该将字符串复制到剪贴板?
到目前为止,这是我的代码:
// Shrug Script
// ¯\_(ツ)_/¯
//
// contains special character:
// ツ
// KATAKANA LETTER TU
// Unicode: U+30C4, UTF-8: E3 83 84
// thought maybe I needed to decode it ¯\_(ツ)_/¯
function decode_utf8(s) {
return decodeURIComponent(escape(s));
}
// this is the newer "Script" aka Javascript way
var sysEvents = Application('System Events');
// this didn't work:
// sysEvents.keystroke("¯\\_(ツ)_/¯");
// this doesn't work either
sysEvents.keystroke("¯\\_("+ decode_utf8("\xE3\x83\x84") +")_/¯");
答案 0 :(得分:0)
好的,所以将它添加到我的剪贴板并立即粘贴它要容易得多。这不是我问题的直接答案,但最终结果是我想要的。
Apple Script版本:
# Shrug Script
# ¯\_(ツ)_/¯
#
# contains special character:
# ツ
# KATAKANA LETTER TU
# Unicode: U+30C4, UTF-8: E3 83 84
set the clipboard to "¯\\_(ツ)_/¯"
tell application "System Events" to keystroke "v" using command down
JXA版本:
var app = Application.currentApplication()
app.includeStandardAdditions = true
var seApp = Application('System Events')
// set current app's clipboard
app.setTheClipboardTo("¯\\_(ツ)_/¯")
// paste!
seApp.keystroke('v', { using: 'command down' });
答案 1 :(得分:0)
我强烈推荐这类任务的服务,因为他们几乎可以在任何应用程序中直接操作文本;不需要像GUI脚本这样的hacky kludges。很容易在Automator中创建一个新的服务,它将输出一段文本,此外,您可以在完成后将其绑定到“系统偏好设置”中的键盘快捷键。这是一个你可以轻松适应的例子: