From 7cb6176ebcddc0f6b58ca50c48f85a2eebb56b68 Mon Sep 17 00:00:00 2001 From: "Suraj N. Kurapati" Date: Sun, 13 Oct 2024 18:02:21 -0400 Subject: [PATCH] generate define.json to document expanded defaults --- README.md | 2 + Rakefile | 19 +++- define.json | 321 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 340 insertions(+), 2 deletions(-) create mode 100644 define.json diff --git a/README.md b/README.md index cdb5026..f1bf6aa 100644 --- a/README.md +++ b/README.md @@ -388,6 +388,8 @@ adding them above the snippet in the "Custom Defined Behaviors" text box: For your reference, the following diagram shows the default values for all settings and how they inherit from each other, so you can override them together as a group (by inheritance) or each individually (fine-grained). +Also see the `define.json` file for a convenient listing of the _effective_ +default values, _after_ all the inheritance and C pre-processor expansions. ![Default values and inheritance for all `#define` settings](define.svg) diff --git a/Rakefile b/Rakefile index 0d3d375..296b6ff 100644 --- a/Rakefile +++ b/Rakefile @@ -1,4 +1,5 @@ require 'rake/clean' +require 'json' require 'erb' task :default => [:dtsi, :dot, :pdf] @@ -9,7 +10,8 @@ task :default => [:dtsi, :dot, :pdf] dtsi_files = FileList['*.dtsi.erb'].each do |erb| dtsi = erb.pathmap('%X') - file dtsi => FileList[erb, '*.{yaml,json,zmk}', __FILE__] + dtsi_base = dtsi.pathmap('%X') + file dtsi => FileList[erb, "#{dtsi_base}.{json,zmk}", '*.yaml', __FILE__] CLEAN.include "#{erb}.tmp" dtsi_min = "#{dtsi}.min" @@ -47,7 +49,7 @@ end # Graphviz DOT for diagrams #----------------------------------------------------------------------------- -task :dot => 'define.svg' +task :dot => ['define.svg', 'define.json'] file 'define.svg' => 'define.dot' do |t| sh "dot -Tsvg #{t.prerequisites[0]} > #{t.name}" @@ -57,6 +59,19 @@ file 'define.dot' => ['define.dot.erb', 'keymap.dtsi.min'] do |t| sh "erb #{t.prerequisites[0]} > #{t.name}" end +file 'define.json' => 'keymap.dtsi.min' do |t| + defaults = + `grep -A1 '#ifndef' #{t.prerequisites[0]} | grep '#define'` + .gsub(/#define (\w+)/, '\1 =') + .lines.inject({}) do |hash, line| + setting = line[/\w+/] + value = eval(line) rescue nil + hash[setting] = value if value + hash + end + File.write(t.name, JSON.pretty_generate({defaults: defaults})) +end + #----------------------------------------------------------------------------- # printable layer map diagrams #----------------------------------------------------------------------------- diff --git a/define.json b/define.json new file mode 100644 index 0000000..b8b5674 --- /dev/null +++ b/define.json @@ -0,0 +1,321 @@ +{ + "defaults": { + "OPERATING_SYSTEM": "L", + "COMBO_FIRING_DECAY": 50, + "TAPPING_RESOLUTION": 150, + "HOMEY_HOLDING_TYPE": "tap-preferred", + "HOMEY_HOLDING_TIME": 240, + "INDEX_HOLDING_TIME": 240, + "MIDDY_HOLDING_TIME": 240, + "RING1_HOLDING_TIME": 240, + "RING2_HOLDING_TIME": 240, + "PINKY_HOLDING_TIME": 240, + "HOMEY_STREAK_DECAY": 150, + "HOMEY_REPEAT_DECAY": 300, + "CHORD_HOLDING_TYPE": "tap-preferred", + "CHORD_HOLDING_TIME": 150, + "CHORD_STREAK_DECAY": 150, + "CHORD_REPEAT_DECAY": 300, + "INDEX_HOLDING_TYPE": "tap-preferred", + "INDEX_STREAK_DECAY": 150, + "INDEX_REPEAT_DECAY": 300, + "PLAIN_HOLDING_TYPE": "tap-preferred", + "PLAIN_HOLDING_TIME": 200, + "PLAIN_STREAK_DECAY": 150, + "PLAIN_REPEAT_DECAY": 300, + "THUMB_HOLDING_TYPE": "tap-preferred", + "THUMB_HOLDING_TIME": 200, + "THUMB_REPEAT_DECAY": 300, + "SPACE_HOLDING_TYPE": "tap-preferred", + "SPACE_HOLDING_TIME": 200, + "SPACE_REPEAT_DECAY": 150, + "PINKY_HOLDING_TYPE": "tap-preferred", + "PINKY_CHORD_HOLDING_TYPE": "tap-preferred", + "LEFT_PINKY_CHORD_HOLDING_TYPE": "tap-preferred", + "RIGHT_PINKY_CHORD_HOLDING_TYPE": "tap-preferred", + "PINKY_CHORD_HOLDING_TIME": 150, + "LEFT_PINKY_CHORD_HOLDING_TIME": 150, + "RIGHT_PINKY_CHORD_HOLDING_TIME": 150, + "PINKY_STREAK_DECAY": 150, + "PINKY_CHORD_STREAK_DECAY": 150, + "LEFT_PINKY_CHORD_STREAK_DECAY": 150, + "RIGHT_PINKY_CHORD_STREAK_DECAY": 150, + "PINKY_REPEAT_DECAY": 300, + "PINKY_CHORD_REPEAT_DECAY": 300, + "LEFT_PINKY_CHORD_REPEAT_DECAY": 300, + "RIGHT_PINKY_CHORD_REPEAT_DECAY": 300, + "RING1_HOLDING_TYPE": "tap-preferred", + "RING1_CHORD_HOLDING_TYPE": "tap-preferred", + "LEFT_RING1_CHORD_HOLDING_TYPE": "tap-preferred", + "RIGHT_RING1_CHORD_HOLDING_TYPE": "tap-preferred", + "RING1_CHORD_HOLDING_TIME": 150, + "LEFT_RING1_CHORD_HOLDING_TIME": 150, + "RIGHT_RING1_CHORD_HOLDING_TIME": 150, + "RING1_STREAK_DECAY": 150, + "RING1_CHORD_STREAK_DECAY": 150, + "LEFT_RING1_CHORD_STREAK_DECAY": 150, + "RIGHT_RING1_CHORD_STREAK_DECAY": 150, + "RING1_REPEAT_DECAY": 300, + "RING1_CHORD_REPEAT_DECAY": 300, + "LEFT_RING1_CHORD_REPEAT_DECAY": 300, + "RIGHT_RING1_CHORD_REPEAT_DECAY": 300, + "RING2_HOLDING_TYPE": "tap-preferred", + "RING2_CHORD_HOLDING_TYPE": "tap-preferred", + "LEFT_RING2_CHORD_HOLDING_TYPE": "tap-preferred", + "RIGHT_RING2_CHORD_HOLDING_TYPE": "tap-preferred", + "RING2_CHORD_HOLDING_TIME": 150, + "LEFT_RING2_CHORD_HOLDING_TIME": 150, + "RIGHT_RING2_CHORD_HOLDING_TIME": 150, + "RING2_STREAK_DECAY": 150, + "RING2_CHORD_STREAK_DECAY": 150, + "LEFT_RING2_CHORD_STREAK_DECAY": 150, + "RIGHT_RING2_CHORD_STREAK_DECAY": 150, + "RING2_REPEAT_DECAY": 300, + "RING2_CHORD_REPEAT_DECAY": 300, + "LEFT_RING2_CHORD_REPEAT_DECAY": 300, + "RIGHT_RING2_CHORD_REPEAT_DECAY": 300, + "MIDDY_HOLDING_TYPE": "tap-preferred", + "MIDDY_CHORD_HOLDING_TYPE": "tap-preferred", + "LEFT_MIDDY_CHORD_HOLDING_TYPE": "tap-preferred", + "RIGHT_MIDDY_CHORD_HOLDING_TYPE": "tap-preferred", + "MIDDY_CHORD_HOLDING_TIME": 150, + "LEFT_MIDDY_CHORD_HOLDING_TIME": 150, + "RIGHT_MIDDY_CHORD_HOLDING_TIME": 150, + "MIDDY_STREAK_DECAY": 150, + "MIDDY_CHORD_STREAK_DECAY": 150, + "LEFT_MIDDY_CHORD_STREAK_DECAY": 150, + "RIGHT_MIDDY_CHORD_STREAK_DECAY": 150, + "MIDDY_REPEAT_DECAY": 300, + "MIDDY_CHORD_REPEAT_DECAY": 300, + "LEFT_MIDDY_CHORD_REPEAT_DECAY": 300, + "RIGHT_MIDDY_CHORD_REPEAT_DECAY": 300, + "INDEX_CHORD_HOLDING_TYPE": "tap-preferred", + "LEFT_INDEX_CHORD_HOLDING_TYPE": "tap-preferred", + "RIGHT_INDEX_CHORD_HOLDING_TYPE": "tap-preferred", + "INDEX_CHORD_HOLDING_TIME": 150, + "LEFT_INDEX_CHORD_HOLDING_TIME": 150, + "RIGHT_INDEX_CHORD_HOLDING_TIME": 150, + "INDEX_CHORD_STREAK_DECAY": 150, + "LEFT_INDEX_CHORD_STREAK_DECAY": 150, + "RIGHT_INDEX_CHORD_STREAK_DECAY": 150, + "INDEX_CHORD_REPEAT_DECAY": 300, + "LEFT_INDEX_CHORD_REPEAT_DECAY": 300, + "RIGHT_INDEX_CHORD_REPEAT_DECAY": 300, + "LEFT_PINKY_HOLDING_TYPE": "tap-preferred", + "LEFT_PINKY_HOLDING_TIME": 240, + "LEFT_PINKY_STREAK_DECAY": 150, + "LEFT_PINKY_REPEAT_DECAY": 300, + "RIGHT_PINKY_HOLDING_TYPE": "tap-preferred", + "RIGHT_PINKY_HOLDING_TIME": 240, + "RIGHT_PINKY_STREAK_DECAY": 150, + "RIGHT_PINKY_REPEAT_DECAY": 300, + "LEFT_RING1_HOLDING_TYPE": "tap-preferred", + "LEFT_RING1_HOLDING_TIME": 240, + "LEFT_RING1_STREAK_DECAY": 150, + "LEFT_RING1_REPEAT_DECAY": 300, + "RIGHT_RING1_HOLDING_TYPE": "tap-preferred", + "RIGHT_RING1_HOLDING_TIME": 240, + "RIGHT_RING1_STREAK_DECAY": 150, + "RIGHT_RING1_REPEAT_DECAY": 300, + "LEFT_RING2_HOLDING_TYPE": "tap-preferred", + "LEFT_RING2_HOLDING_TIME": 240, + "LEFT_RING2_STREAK_DECAY": 150, + "LEFT_RING2_REPEAT_DECAY": 300, + "RIGHT_RING2_HOLDING_TYPE": "tap-preferred", + "RIGHT_RING2_HOLDING_TIME": 240, + "RIGHT_RING2_STREAK_DECAY": 150, + "RIGHT_RING2_REPEAT_DECAY": 300, + "LEFT_MIDDY_HOLDING_TYPE": "tap-preferred", + "LEFT_MIDDY_HOLDING_TIME": 240, + "LEFT_MIDDY_STREAK_DECAY": 150, + "LEFT_MIDDY_REPEAT_DECAY": 300, + "RIGHT_MIDDY_HOLDING_TYPE": "tap-preferred", + "RIGHT_MIDDY_HOLDING_TIME": 240, + "RIGHT_MIDDY_STREAK_DECAY": 150, + "RIGHT_MIDDY_REPEAT_DECAY": 300, + "LEFT_INDEX_HOLDING_TYPE": "tap-preferred", + "LEFT_INDEX_HOLDING_TIME": 240, + "LEFT_INDEX_STREAK_DECAY": 150, + "LEFT_INDEX_REPEAT_DECAY": 300, + "RIGHT_INDEX_HOLDING_TYPE": "tap-preferred", + "RIGHT_INDEX_HOLDING_TIME": 240, + "RIGHT_INDEX_STREAK_DECAY": 150, + "RIGHT_INDEX_REPEAT_DECAY": 300, + "LEFT_RING1_PINKY_HOLDING_TYPE": "tap-preferred", + "LEFT_RING1_PINKY_HOLDING_TIME": 150, + "LEFT_RING1_PINKY_STREAK_DECAY": 150, + "LEFT_RING1_PINKY_REPEAT_DECAY": 300, + "LEFT_RING2_PINKY_HOLDING_TYPE": "tap-preferred", + "LEFT_RING2_PINKY_HOLDING_TIME": 150, + "LEFT_RING2_PINKY_STREAK_DECAY": 150, + "LEFT_RING2_PINKY_REPEAT_DECAY": 300, + "LEFT_MIDDY_PINKY_HOLDING_TYPE": "tap-preferred", + "LEFT_MIDDY_PINKY_HOLDING_TIME": 150, + "LEFT_MIDDY_PINKY_STREAK_DECAY": 150, + "LEFT_MIDDY_PINKY_REPEAT_DECAY": 300, + "LEFT_INDEX_PINKY_HOLDING_TYPE": "tap-preferred", + "LEFT_INDEX_PINKY_HOLDING_TIME": 150, + "LEFT_INDEX_PINKY_STREAK_DECAY": 150, + "LEFT_INDEX_PINKY_REPEAT_DECAY": 300, + "RIGHT_RING1_PINKY_HOLDING_TYPE": "tap-preferred", + "RIGHT_RING1_PINKY_HOLDING_TIME": 150, + "RIGHT_RING1_PINKY_STREAK_DECAY": 150, + "RIGHT_RING1_PINKY_REPEAT_DECAY": 300, + "RIGHT_RING2_PINKY_HOLDING_TYPE": "tap-preferred", + "RIGHT_RING2_PINKY_HOLDING_TIME": 150, + "RIGHT_RING2_PINKY_STREAK_DECAY": 150, + "RIGHT_RING2_PINKY_REPEAT_DECAY": 300, + "RIGHT_MIDDY_PINKY_HOLDING_TYPE": "tap-preferred", + "RIGHT_MIDDY_PINKY_HOLDING_TIME": 150, + "RIGHT_MIDDY_PINKY_STREAK_DECAY": 150, + "RIGHT_MIDDY_PINKY_REPEAT_DECAY": 300, + "RIGHT_INDEX_PINKY_HOLDING_TYPE": "tap-preferred", + "RIGHT_INDEX_PINKY_HOLDING_TIME": 150, + "RIGHT_INDEX_PINKY_STREAK_DECAY": 150, + "RIGHT_INDEX_PINKY_REPEAT_DECAY": 300, + "LEFT_PINKY_RING1_HOLDING_TYPE": "tap-preferred", + "LEFT_PINKY_RING1_HOLDING_TIME": 150, + "LEFT_PINKY_RING1_STREAK_DECAY": 150, + "LEFT_PINKY_RING1_REPEAT_DECAY": 300, + "LEFT_RING2_RING1_HOLDING_TYPE": "tap-preferred", + "LEFT_RING2_RING1_HOLDING_TIME": 150, + "LEFT_RING2_RING1_STREAK_DECAY": 150, + "LEFT_RING2_RING1_REPEAT_DECAY": 300, + "LEFT_MIDDY_RING1_HOLDING_TYPE": "tap-preferred", + "LEFT_MIDDY_RING1_HOLDING_TIME": 150, + "LEFT_MIDDY_RING1_STREAK_DECAY": 150, + "LEFT_MIDDY_RING1_REPEAT_DECAY": 300, + "LEFT_INDEX_RING1_HOLDING_TYPE": "tap-preferred", + "LEFT_INDEX_RING1_HOLDING_TIME": 150, + "LEFT_INDEX_RING1_STREAK_DECAY": 150, + "LEFT_INDEX_RING1_REPEAT_DECAY": 300, + "RIGHT_PINKY_RING1_HOLDING_TYPE": "tap-preferred", + "RIGHT_PINKY_RING1_HOLDING_TIME": 150, + "RIGHT_PINKY_RING1_STREAK_DECAY": 150, + "RIGHT_PINKY_RING1_REPEAT_DECAY": 300, + "RIGHT_RING2_RING1_HOLDING_TYPE": "tap-preferred", + "RIGHT_RING2_RING1_HOLDING_TIME": 150, + "RIGHT_RING2_RING1_STREAK_DECAY": 150, + "RIGHT_RING2_RING1_REPEAT_DECAY": 300, + "RIGHT_MIDDY_RING1_HOLDING_TYPE": "tap-preferred", + "RIGHT_MIDDY_RING1_HOLDING_TIME": 150, + "RIGHT_MIDDY_RING1_STREAK_DECAY": 150, + "RIGHT_MIDDY_RING1_REPEAT_DECAY": 300, + "RIGHT_INDEX_RING1_HOLDING_TYPE": "tap-preferred", + "RIGHT_INDEX_RING1_HOLDING_TIME": 150, + "RIGHT_INDEX_RING1_STREAK_DECAY": 150, + "RIGHT_INDEX_RING1_REPEAT_DECAY": 300, + "LEFT_PINKY_RING2_HOLDING_TYPE": "tap-preferred", + "LEFT_PINKY_RING2_HOLDING_TIME": 150, + "LEFT_PINKY_RING2_STREAK_DECAY": 150, + "LEFT_PINKY_RING2_REPEAT_DECAY": 300, + "LEFT_RING1_RING2_HOLDING_TYPE": "tap-preferred", + "LEFT_RING1_RING2_HOLDING_TIME": 150, + "LEFT_RING1_RING2_STREAK_DECAY": 150, + "LEFT_RING1_RING2_REPEAT_DECAY": 300, + "LEFT_MIDDY_RING2_HOLDING_TYPE": "tap-preferred", + "LEFT_MIDDY_RING2_HOLDING_TIME": 150, + "LEFT_MIDDY_RING2_STREAK_DECAY": 150, + "LEFT_MIDDY_RING2_REPEAT_DECAY": 300, + "LEFT_INDEX_RING2_HOLDING_TYPE": "tap-preferred", + "LEFT_INDEX_RING2_HOLDING_TIME": 150, + "LEFT_INDEX_RING2_STREAK_DECAY": 150, + "LEFT_INDEX_RING2_REPEAT_DECAY": 300, + "RIGHT_PINKY_RING2_HOLDING_TYPE": "tap-preferred", + "RIGHT_PINKY_RING2_HOLDING_TIME": 150, + "RIGHT_PINKY_RING2_STREAK_DECAY": 150, + "RIGHT_PINKY_RING2_REPEAT_DECAY": 300, + "RIGHT_RING1_RING2_HOLDING_TYPE": "tap-preferred", + "RIGHT_RING1_RING2_HOLDING_TIME": 150, + "RIGHT_RING1_RING2_STREAK_DECAY": 150, + "RIGHT_RING1_RING2_REPEAT_DECAY": 300, + "RIGHT_MIDDY_RING2_HOLDING_TYPE": "tap-preferred", + "RIGHT_MIDDY_RING2_HOLDING_TIME": 150, + "RIGHT_MIDDY_RING2_STREAK_DECAY": 150, + "RIGHT_MIDDY_RING2_REPEAT_DECAY": 300, + "RIGHT_INDEX_RING2_HOLDING_TYPE": "tap-preferred", + "RIGHT_INDEX_RING2_HOLDING_TIME": 150, + "RIGHT_INDEX_RING2_STREAK_DECAY": 150, + "RIGHT_INDEX_RING2_REPEAT_DECAY": 300, + "LEFT_PINKY_MIDDY_HOLDING_TYPE": "tap-preferred", + "LEFT_PINKY_MIDDY_HOLDING_TIME": 150, + "LEFT_PINKY_MIDDY_STREAK_DECAY": 150, + "LEFT_PINKY_MIDDY_REPEAT_DECAY": 300, + "LEFT_RING1_MIDDY_HOLDING_TYPE": "tap-preferred", + "LEFT_RING1_MIDDY_HOLDING_TIME": 150, + "LEFT_RING1_MIDDY_STREAK_DECAY": 150, + "LEFT_RING1_MIDDY_REPEAT_DECAY": 300, + "LEFT_RING2_MIDDY_HOLDING_TYPE": "tap-preferred", + "LEFT_RING2_MIDDY_HOLDING_TIME": 150, + "LEFT_RING2_MIDDY_STREAK_DECAY": 150, + "LEFT_RING2_MIDDY_REPEAT_DECAY": 300, + "LEFT_INDEX_MIDDY_HOLDING_TYPE": "tap-preferred", + "LEFT_INDEX_MIDDY_HOLDING_TIME": 150, + "LEFT_INDEX_MIDDY_STREAK_DECAY": 150, + "LEFT_INDEX_MIDDY_REPEAT_DECAY": 300, + "RIGHT_PINKY_MIDDY_HOLDING_TYPE": "tap-preferred", + "RIGHT_PINKY_MIDDY_HOLDING_TIME": 150, + "RIGHT_PINKY_MIDDY_STREAK_DECAY": 150, + "RIGHT_PINKY_MIDDY_REPEAT_DECAY": 300, + "RIGHT_RING1_MIDDY_HOLDING_TYPE": "tap-preferred", + "RIGHT_RING1_MIDDY_HOLDING_TIME": 150, + "RIGHT_RING1_MIDDY_STREAK_DECAY": 150, + "RIGHT_RING1_MIDDY_REPEAT_DECAY": 300, + "RIGHT_RING2_MIDDY_HOLDING_TYPE": "tap-preferred", + "RIGHT_RING2_MIDDY_HOLDING_TIME": 150, + "RIGHT_RING2_MIDDY_STREAK_DECAY": 150, + "RIGHT_RING2_MIDDY_REPEAT_DECAY": 300, + "RIGHT_INDEX_MIDDY_HOLDING_TYPE": "tap-preferred", + "RIGHT_INDEX_MIDDY_HOLDING_TIME": 150, + "RIGHT_INDEX_MIDDY_STREAK_DECAY": 150, + "RIGHT_INDEX_MIDDY_REPEAT_DECAY": 300, + "LEFT_PINKY_INDEX_HOLDING_TYPE": "tap-preferred", + "LEFT_PINKY_INDEX_HOLDING_TIME": 150, + "LEFT_PINKY_INDEX_STREAK_DECAY": 150, + "LEFT_PINKY_INDEX_REPEAT_DECAY": 300, + "LEFT_RING1_INDEX_HOLDING_TYPE": "tap-preferred", + "LEFT_RING1_INDEX_HOLDING_TIME": 150, + "LEFT_RING1_INDEX_STREAK_DECAY": 150, + "LEFT_RING1_INDEX_REPEAT_DECAY": 300, + "LEFT_RING2_INDEX_HOLDING_TYPE": "tap-preferred", + "LEFT_RING2_INDEX_HOLDING_TIME": 150, + "LEFT_RING2_INDEX_STREAK_DECAY": 150, + "LEFT_RING2_INDEX_REPEAT_DECAY": 300, + "LEFT_MIDDY_INDEX_HOLDING_TYPE": "tap-preferred", + "LEFT_MIDDY_INDEX_HOLDING_TIME": 150, + "LEFT_MIDDY_INDEX_STREAK_DECAY": 150, + "LEFT_MIDDY_INDEX_REPEAT_DECAY": 300, + "RIGHT_PINKY_INDEX_HOLDING_TYPE": "tap-preferred", + "RIGHT_PINKY_INDEX_HOLDING_TIME": 150, + "RIGHT_PINKY_INDEX_STREAK_DECAY": 150, + "RIGHT_PINKY_INDEX_REPEAT_DECAY": 300, + "RIGHT_RING1_INDEX_HOLDING_TYPE": "tap-preferred", + "RIGHT_RING1_INDEX_HOLDING_TIME": 150, + "RIGHT_RING1_INDEX_STREAK_DECAY": 150, + "RIGHT_RING1_INDEX_REPEAT_DECAY": 300, + "RIGHT_RING2_INDEX_HOLDING_TYPE": "tap-preferred", + "RIGHT_RING2_INDEX_HOLDING_TIME": 150, + "RIGHT_RING2_INDEX_STREAK_DECAY": 150, + "RIGHT_RING2_INDEX_REPEAT_DECAY": 300, + "RIGHT_MIDDY_INDEX_HOLDING_TYPE": "tap-preferred", + "RIGHT_MIDDY_INDEX_HOLDING_TIME": 150, + "RIGHT_MIDDY_INDEX_STREAK_DECAY": 150, + "RIGHT_MIDDY_INDEX_REPEAT_DECAY": 300, + "STICKY_1SHOT_DECAY": 500, + "STICKY_HOLDING_TIME": 200, + "SELECT_WORD_DELAY": 1, + "UNICODE_TAP_DELAY": 1, + "UNICODE_SEQ_DELAY": 10, + "EMOJI_GENDER_SIGN_PRESET": "N", + "EMOJI_SKIN_TONE_PRESET": "N", + "EMOJI_HAIR_STYLE_PRESET": "N", + "MOUSE_MOTION_DELAY": 0, + "MOUSE_MOTION_ACCELERATION_EXPONENT": 1, + "MOUSE_MOTION_TIME_TO_MAXIMUM_SPEED": 300, + "MOUSE_MOTION_MAXIMUM_SPEED": 600, + "MOUSE_SCROLL_DELAY": 0, + "MOUSE_SCROLL_ACCELERATION_EXPONENT": 0, + "MOUSE_SCROLL_TIME_TO_MAXIMUM_SPEED": 300, + "MOUSE_SCROLL_MAXIMUM_SPEED": 10 + } +} \ No newline at end of file