⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scancode.inc.sh

📁 开源的键盘模拟程序
💻 SH
字号:
#!/bin/shgawk --file ../lib/kbde.awk --source 'function PrintLabel(String){   NeedT = 0;   # I can not use ":" directly, because it field separator   # So, i need use T   if (String ~ "[Cc][Oo][Ll][Oo][Nn]") {      NeedT = 1;      String = ":";   }   # If string has \\ replace it with  \\e   gsub("\\\\", "\\e", String);   num = split(String, Array, "[[:blank:]]");   if (num == 0) return; # Empty string, do nothing   # If we have whitespace inside I want words on different lines   # So, i need use T   if (num > 1) NeedT = 1;   if (NeedT) {      printf "T{\n";       for (i = 1; i <= num; i++) {         printf "%s\n", Array[i];      }      printf "T}";    } else {      # When T is not used, I have to escape -,+ and _      if (substr(String, 1, 1) in ArrayForEscape) printf "\\&";      printf "%s", String;   }}function PrintCode(String){   if (String ~ "-NONE-") {      printf "%s", String;      return   }   num = split(String, Array, "[[:blank:]]")   if (num == 0) return; # empty string, do nothing   if (num == 1) {       printf "0x%s", Array[1];   } else  if (num == 2) {       printf "0x%s 0x%s", Array[1], Array[2];   } else { # More, than 2, need newline(s)      printf "T{\n";      for (i = 1; i <= num; i += 2) {         # May be I print one element after array boundary,         # but awk promise it will be empty, so it is ok         printf("0x%s 0x%s\n", Array[i], Array[i+1]);      }      printf "T}"   }}function PrintSeparator(){   printf ":"}function print_man_table(){    ArrayForEscape["-"]  = "";   ArrayForEscape["_"]  = "";   ArrayForEscape["="]  = "";   for (Define = 1; int(Define) <= int(MaxDefine); Define = Define + 1) {      Name = Names[Define];      if (Name != "") {         Make     = Makes[Define];         Break    = Breaks[Define];         Label    = Labels[Define];         AddLabel = AddLabels[Define];         printf "%s", Name;         PrintSeparator();         printf "%s", Define;         PrintSeparator();         PrintLabel(Label);         PrintSeparator();         PrintLabel(AddLabel);         PrintSeparator();         PrintCode(Make);         PrintSeparator();         PrintCode(Break);         print ""; # Newline      }   }}function print_func(){   print_man_table();}' || exitexit 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -