keymap.ts 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. function keymap_load() {
  2. config_keymap = keymap_get_default();
  3. if (config_raw.keymap != "default.json") {
  4. let blob: buffer_t = data_get_blob("keymap_presets/" + config_raw.keymap);
  5. let new_keymap: map_t<string, string> = json_parse_to_map(sys_buffer_to_string(blob));
  6. let keys: string[] = map_keys(new_keymap);
  7. for (let i: i32 = 0; i < keys.length; ++i) {
  8. let key: string = keys[i];
  9. map_set(config_keymap, key, map_get(new_keymap, key));
  10. }
  11. }
  12. }
  13. function keymap_save() {
  14. if (config_raw.keymap == "default.json") {
  15. return;
  16. }
  17. let path: string = data_path() + "keymap_presets/" + config_raw.keymap;
  18. let buffer: buffer_t = sys_string_to_buffer(keymap_to_json(config_keymap));
  19. iron_file_save_bytes(path, buffer, 0);
  20. }
  21. function keymap_to_json(keymap: map_t<string, string>): string {
  22. json_encode_begin();
  23. json_encode_map(keymap);
  24. return json_encode_end();
  25. }
  26. function keymap_get_default(): map_t<string, string> {
  27. let keymap: map_t<string, string> = map_create();
  28. map_set(keymap, "action_paint", "left");
  29. map_set(keymap, "action_rotate", "alt+left");
  30. map_set(keymap, "action_pan", "alt+middle");
  31. map_set(keymap, "action_zoom", "alt+right");
  32. map_set(keymap, "rotate_envmap", "ctrl+middle");
  33. map_set(keymap, "set_clone_source", "alt");
  34. map_set(keymap, "stencil_transform", "ctrl");
  35. map_set(keymap, "stencil_hide", "z");
  36. map_set(keymap, "brush_radius", "f");
  37. map_set(keymap, "brush_radius_decrease", "[");
  38. map_set(keymap, "brush_radius_increase", "]");
  39. map_set(keymap, "brush_ruler", "shift");
  40. map_set(keymap, "file_new", "ctrl+n");
  41. map_set(keymap, "file_open", "ctrl+o");
  42. map_set(keymap, "file_open_recent", "ctrl+shift+o");
  43. map_set(keymap, "file_save", "ctrl+s");
  44. map_set(keymap, "file_save_as", "ctrl+shift+s");
  45. map_set(keymap, "file_reimport_mesh", "ctrl+r");
  46. map_set(keymap, "file_reimport_textures", "ctrl+shift+r");
  47. map_set(keymap, "file_import_assets", "ctrl+i");
  48. map_set(keymap, "file_export_textures", "ctrl+e");
  49. map_set(keymap, "file_export_textures_as", "ctrl+shift+e");
  50. map_set(keymap, "edit_undo", "ctrl+z");
  51. map_set(keymap, "edit_redo", "ctrl+shift+z");
  52. map_set(keymap, "edit_prefs", "ctrl+k");
  53. map_set(keymap, "view_reset", "0");
  54. map_set(keymap, "view_front", "1");
  55. map_set(keymap, "view_back", "ctrl+1");
  56. map_set(keymap, "view_right", "3");
  57. map_set(keymap, "view_left", "ctrl+3");
  58. map_set(keymap, "view_top", "7");
  59. map_set(keymap, "view_bottom", "ctrl+7");
  60. map_set(keymap, "view_camera_type", "5");
  61. map_set(keymap, "view_orbit_left", "4");
  62. map_set(keymap, "view_orbit_right", "6");
  63. map_set(keymap, "view_orbit_up", "8");
  64. map_set(keymap, "view_orbit_down", "2");
  65. map_set(keymap, "view_orbit_opposite", "9");
  66. map_set(keymap, "view_zoom_in", "");
  67. map_set(keymap, "view_zoom_out", "");
  68. map_set(keymap, "view_distract_free", "f11");
  69. map_set(keymap, "viewport_mode", "ctrl+m");
  70. map_set(keymap, "toggle_node_editor", "tab");
  71. map_set(keymap, "toggle_2d_view", "shift+tab");
  72. map_set(keymap, "toggle_browser", "`");
  73. map_set(keymap, "node_search", "space");
  74. map_set(keymap, "operator_search", "space");
  75. map_set(keymap, "decal_mask", "ctrl");
  76. map_set(keymap, "select_material", "shift+number");
  77. map_set(keymap, "select_layer", "alt+number");
  78. map_set(keymap, "brush_opacity", "shift+f");
  79. map_set(keymap, "brush_angle", "alt+f");
  80. map_set(keymap, "tool_brush", "b");
  81. map_set(keymap, "tool_eraser", "e");
  82. map_set(keymap, "tool_fill", "g");
  83. map_set(keymap, "tool_decal", "d");
  84. map_set(keymap, "tool_text", "t");
  85. map_set(keymap, "tool_clone", "l");
  86. map_set(keymap, "tool_blur", "u");
  87. map_set(keymap, "tool_smudge", "m");
  88. map_set(keymap, "tool_particle", "p");
  89. map_set(keymap, "tool_colorid", "c");
  90. map_set(keymap, "tool_picker", "v");
  91. map_set(keymap, "tool_bake", "k");
  92. map_set(keymap, "tool_gizmo", "");
  93. map_set(keymap, "tool_material", "");
  94. map_set(keymap, "swap_brush_eraser", "");
  95. return keymap;
  96. }