我想做一个复杂的修改,使macOS在我按住F6/☾键时进入睡眠状态。
下面的配置是工作的,但当我释放钥匙,立即唤醒操作系统。
也许它可以与to_after_key_up
相结合,但却找不到如何实现它。
{
"description": "Map F6 (Do Not Disturb) to Cmd+Opt+Eject for Sleep Mac",
"manipulators": [{
"from": {
"key_code": "f6"
},
"type": "basic",
"parameters": {
"basic.to_if_alone_timeout_milliseconds": 250,
"basic.to_if_held_down_threshold_milliseconds": 1000
},
"to_if_alone": [
{
"key_code": "f6"
}
],
"to_if_held_down": [
{
"repeat": false,
"consumer_key_code": "eject",
"modifiers": ["left_gui", "left_alt"]
}
]
}]
}
发布于 2022-06-01 12:33:12
无法找到解决密钥释放问题的解决方案,因此,作为解决办法,我创建了一个双按F6/☾键实现相同功能的解决方案:
{
"description": "Map 2x F6 (Do Not Disturb) to Cmd+Opt+Eject for Sleep Mac",
"manipulators": [
{
"type": "basic",
"conditions": [
{
"type": "variable_if",
"name": "sleep",
"value": 1
}
],
"from": {
"key_code": "f6"
},
"to_after_key_up": [{
"repeat": false,
"consumer_key_code": "eject",
"modifiers": ["left_gui", "left_alt"]
}]
},
{
"type": "basic",
"from": {
"key_code": "f6"
},
"to": [
{
"set_variable": {
"name": "sleep",
"value": 1
}
}
],
"to_delayed_action": {
"to_if_invoked": [
{
"set_variable": {
"name": "sleep",
"value": 0
}
},
{
"key_code": "f6"
}
],
"to_if_canceled": [
{
"set_variable": {
"name": "sleep",
"value": 0
}
}
]
},
"parameters": {
"basic.to_delayed_action_delay_milliseconds": 200
}
}
]
}
我之所以想区别于单一的F6新闻,是因为我在文件浏览器中使用它来在面板之间移动文件。
https://stackoverflow.com/questions/72453159
复制相似问题