davinci resolve 是一款非线性影片剪辑软件,mac 下快捷键配置文件位于:

lucas@lucasdeMacBook-Pro DaVinci Resolve % pwd
/Users/lucas/Library/Preferences/Blackmagic Design/DaVinci Resolve
lucas@lucasdeMacBook-Pro DaVinci Resolve % ll | grep key
-rw-rw-rw-  1 lucas  staff  181908 12  9 15:43 keyboard.preset.xml

文件部分内容如下:

lucas@lucasdeMacBook-Pro DaVinci Resolve % cat keyboard.preset.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--DbAppVer="18.1.1.0007" DbPrjVer="11"-->
<SmKeyboardPresetList DbId="b343b0c6-f893-4b46-8ac8-dad2a6503b88">
<FieldsBlob/>
<PresetListBA>00000001000000020000001a0064006100760069006e00630065005f...............0072000000010000000100000041</PresetListBA>
</SmKeyboardPresetList>
lucas@lucasdeMacBook-Pro DaVinci Resolve %

因篇幅较多,中间部分省略。可以看到虽然是 xml 文件,但具体配置内容做了处理。细看的话配置部分全是16进制,且基本16位一组,或许可以转成 ascii 字符看看。于是将这部分单独拿出放在 key.txt 文件中:

int main()
{char str[200000] = {0};FILE *fp = fopen("/Users/lucas/Desktop/key.txt", "r");fgets(str, 200000, fp);int len = strlen(str);int i = 0;string s = "";while (i < len) {int sum = 0, val = 0;char c = ' ';for (int j = 0; j < 4; ++j) {switch (str[i+j]) {case 'a': val = 10; break;case 'b': val = 11; break;case 'c': val = 12; break;case 'd': val = 13; break;case 'e': val = 14; break;case 'f': val = 15; break;default: val = str[i+j] - '0'; break;}sum = sum * 16 + val;}c = ((sum < 33) || (sum > 126)) ? ' ' : (char)sum;s = s + c;i += 4;}cout << s << endl;return 0;
}

执行后部分输出结果如下:

lucas@lucasdeMacBook-Pro testCpp % g++ -g -Wall test.cpp -o test
lucas@lucasdeMacBook-Pro testCpp % ./testdavince_lucas *editMulticamNextAngle  TFusionWidget..fuHotkey_GLView_Viewer
_Reset.......controlPlayAroundToPlayAroundCurrentSelection     /
nodesAddCPW C nFusionWidget..fuHotkey_FuFrame_Tool_ViewO 2 2  editPointer A 

格式有点乱,但信息还是比较清晰,开头的 davince_lucas 恰好就是修改快捷键配置时的自定义预设:

将其导出后可以看到前面部分:

editPointer := A
controlPlayAroundToPlayAroundCurrentSelection := /
nodesAddCPW := Alt+C
editAutoSelectToggleAudio4 := Ctrl+Alt+F4

......

editPointer 和 controlPlayAroundToPlayAroundCurrentSelection 部分看着还是吻合的,说明思路大体是正确的。但格式上依然还存在些问题,且没打印出 ctrlalt 等控制符,这块私以为是开发人员将这些控制符等特殊字符与某个特定的16进制数字做了个映射,只要程序识别出对应的16进制数字,将其替换成相应的符号或按键即可。

解析davinci快捷键配置文件相关推荐

  1. IntelliJ IDEA for Mac如何存取自定义快捷键配置文件

    IntelliJ IDEA for Mac自定义的快捷键配置文件在以下的目录中: /Users/liaowenxiong/library/application support/JetBrains/I ...

  2. 使用 ramda 解析 .yarnrc/.npmrc 配置文件的例子

    使用 纯函数工具(ramda.js) 解析 .yarnrc/.npmrc 配置文件的例子 源代码,依赖 ramda.js ./utils/parseConfig ((root, factory) =& ...

  3. python配置文件解析_Python中配置文件解析模块-ConfigParser

    Python中有ConfigParser类,可以很方便的从配置文件中读取数据(如DB的配置,路径的配置). 配置文件的格式是: []包含的叫section, section 下有option=valu ...

  4. 【强哥推荐】VSCode常用快捷键配置文件表,记得收藏

    直接修改C:\Users\Administrator\AppData\Roaming\Code\User\keybindings.json(注意目录根据自己的用户名情况和安装位置而定,我的仅供参考)文 ...

  5. nginx解析php文件设置_nginx 解析php conf配置文件

    本博客的nginx 配置文件 server { listen 80;#80和443端口同时监听 listen 443 ssl; server_name www.koukousky.com koukou ...

  6. 【强哥推荐】VSCode常用快捷键配置文件表、代码片段,记得收藏

    直接修改C:\Users\Administrator\AppData\Roaming\Code\User\keybindings.json(注意目录根据自己的用户名情况和安装位置而定,我的仅供参考)文 ...

  7. 解析游戏关卡配置文件及游戏角色配置文件

    角色出生点配置文件 <?xml version="1.0" encoding="utf-8" ?> <Nodes><Node ID ...

  8. sed mysql配置文件_shell解析my.cnf配置文件

    my.cnf配置格式如下 vi my.cnf [client] port=3306 socket=/tmp/mysql.socket [mysqld] port=3306 server-id=1 da ...

  9. spring是如何解析自己的配置文件的

    http://kb.cnblogs.com/a/1729330/ 转载于:https://blog.51cto.com/2820354/823101

最新文章

  1. python画图程序-无所不能的python编程是怎么快速画图的呢?5分钟学会!
  2. capistranorb
  3. matlab修改矩阵元素,怎么修改矩阵中的某些元素 或者简单点说保留矩阵中的元素...
  4. 清单文件,测试,打电话和发短信应用
  5. 剪纸游戏(博弈论)(SG函数)
  6. 波利亚对教师日常工作的看法:〈教师十诫〉
  7. php文件的作用,php入口文件的作用-PHP问题
  8. python二进制反码例题_python中的进制转换和原码,反码,补码
  9. python做一个linux网卡,Linux系统Python可以选择不同网卡进行网络访问吗?
  10. 虚拟机服务器被攻击,Linux服务器被攻击用来挖矿了
  11. 7-2 组织星期信息 (10 分)
  12. P3244 [HNOI2015]落忆枫音
  13. centos修改jdk之后无法生效问题
  14. 4.FX Blue 本地跟单软件EA参数说明
  15. Evernote推出实体笔记本Evernote Business Notebook,支持搜索手写笔记,用实体便签将笔记同步到Evernote上的相应分类
  16. 网页加速系列(六)、 网页加速之进阶下篇
  17. 打开计算机 访问不到d盘,教大家电脑找不到d盘的原因及解决办法
  18. RestTemplate封装
  19. android 之电话监听
  20. 【渝粤题库】广东开放大学 税务会计技术 形成性考核

热门文章

  1. 在一架天车中,透视5G时代的钢铁智变
  2. hammer日常小记——浏览器记录密码查看
  3. ElasticSearch(七):ES查询速度为什么那么快
  4. linux pipenv运行,pipenv快速入门
  5. 语义分割系列11-DAnet(pytorch实现)
  6. 月薪2W+的程序员简历长啥样?来来来,看这里
  7. VS Code 搭建stm32开发环境
  8. html css调用自定义字体,css怎么自定义字体?
  9. 【哈佛学习力10:使命感】
  10. C语言结构体自定义排序