@phoenix-plugin-registry/mjerabek.cz.crowncontrol

Logitech Crown (Craft) integration for Brackets. Probably won't work on macOS. READ INSTALLATION INSTRUCTIONS ON GITHUB.

Usage no npm install needed!

<script type="module">
  import phoenixPluginRegistryMjerabekCzCrowncontrol from 'https://cdn.skypack.dev/@phoenix-plugin-registry/mjerabek.cz.crowncontrol';
</script>

README

Crown Control — Logitech Crown (Craft) integration for Brackets

Probably won't work on macOS.

Installation Instructions

This is not an official way to install custom plugin for Logitech Options. But it works.

On Windows: After you have installed the extension:

  1. Open Logitech Options and select your keyboard (Craft).
  2. Click on All Applications and select Brackets.
  3. Click on More > Software and enable Developer Mode.
  4. Open folder with extensions for Brackets (Help > Show Extensions Folder).
  5. Copy 9df01287-806d-4292-9ee4-2c6e477fee55 folder to C:\ProgramData\Logishrd\LogiOptionsPlugins (folder LogiOptionsPlugins has to be created).
  6. Go to C:\Users\[YOUR_ACCOUNT]\AppData\Roaming\Logishrd\LogiOptions.
  7. Open apptable.xml and find <profile/> for Brackets.
  8. Change <id/> to 9df01287-806d-4292-9ee4-2c6e477fee55. (If there are other profiles for Brackets, remove them.)
  9. Copy 9df01287-806d-4292-9ee4-2c6e477fee55.xml from the extension folder to C:\Users\[YOUR_ACCOUNT]\AppData\Roaming\Logishrd\LogiOptions\devices\6b350\Profiles.
  10. Kill all processes in Task Manager related to Logitech Options and close Brackets (or restart your computer).
  11. Run Logitech Options and Brackets.

On macOS you can use the official method, but it may not work (it didn't work for me, but I tried it only in VirtualBox):

  1. Copy 9df01287-806d-4292-9ee4-2c6e477fee55 folder from the extension folder to ~/Library/Application Support/Logitech/Logitech Options/Plugins.
  2. Enable Developer Mode in Logitech Options (Logitech Options > Craft > More > Software).
  3. Click on All Applications and install the profile.
  4. Click on All Applications > Brackets and then Crown > Press and set it to F9.
  5. Try it and if it works, let me know.

Update Instructions

This is necessary only if the profile has changed. You should be informed about that after an update.

On Windows:

  1. Open folder with extensions for Brackets (Help > Show Extensions Folder).
  2. Copy 9df01287-806d-4292-9ee4-2c6e477fee55 folder to C:\ProgramData\Logishrd\LogiOptionsPlugins (rewrite previous files).
  3. Kill all processes in Task Manager related to Logitech Options and close Brackets (or restart your computer).
  4. Run Logitech Options and Brackets.

On macOS:

  1. In Logitech Options click on All Applications.
  2. Remove profile for Brackets (click on cross icon).
  3. Copy 9df01287-806d-4292-9ee4-2c6e477fee55 folder from the extension folder to ~/Library/Application Support/Logitech/Logitech Options/Plugins (rewrite previous files).
  4. Click on All Applications and install the profile.
  5. Click on All Applications > Brackets and then Crown > Press and set it to F9 (may not be necessary).

How To Use

This is still in experimental state.

Press (Crown)

Switches currently active pane or turns on Split View.

  • CTRL — switches horizontal/vertical mode
  • CTRL + SHIFT — turns off Split View
  • CTRL + ALT — switches active pane and its size

It requires F9 and F9 + MODIFIER_KEYS shortcuts to be available.

Turn: Default

Available options:

  1. Horizontal scrolling (active pane)
    • SHIFT — vertical scrolling
    • CTRL — faster scrolling
    • ALT — inactive pane
  2. Vertical scrolling (active pane)
    • SHIFT — horizontal scrolling
    • CTRL — faster scrolling
    • ALT — inactive pane
  3. Open next / previous file (active pane)
    • CTRL — instantly opens next / previous file
    • ALT — inactive pane
  4. Horizontal scrolling — inactive pane
    • SHIFT — vertical scrolling
    • CTRL — faster scrolling
    • ALT — active pane
  5. Vertical scrolling — inactive pane
    • SHIFT — horizontal scrolling
    • CTRL — faster scrolling
    • ALT — active pane
  6. Resize panes

Turn: Numbers

If the cursor(s) is on any number, you can increase or decrease it by a value based on the context (unit). (I'm not sure if this is a good thing.)

Available options:

  1. Increment/Decrement number — use ratchet
  2. Increment/Decrement number within selections — use ratchet
  3. Increment/Decrement number in opposite directions — use ratchet
  4. Increment/Decrement number — do not use ratchet
  5. Increment/Decrement number within selections — do not use ratchet
  6. Increment/Decrement number in opposite directions — do not use ratchet
  • CTRL — default value * 10
  • SHIFT — default value * 100
  • CTRL + SHIFT — default value * 1000
  • ALT — default value / 10
  • ALT + CTRL — default value / 100
  • ALT + SHIFT — default value / 1000
  • ALT + CTRL + SHIFT — default value / 10000

In opposite directions means that turning to the right increases positive numbers and decreases negative numbers (and vice versa). What is it good for? For example:

/* CSS triangle */
div::after {
    content: "";
    
    position: absolute;
    bottom: 100%;
    left: 50%;
    
    martin-left: -10px;
    
    border: 10px solid transparent;
    border-bottom-color: white;
}
/* You can select 10px and -10px values and resize the triangle 
 * by turning the Crown. If you increase the border to 12px, 
 * the margin will be -12px (and not -8px), so the triangle 
 * will always be in the center. (From 1.1.1 this can be 
 * limitedly achieved with "Inc/Dec within selections".)
 */

Turn: Colors

If the cursor(s) is on any color, you can change its hue, saturation, lightness or alpha value. The cursor has to be on non-number part of the color definition (except colors in HEX formats). You can also create a file (see below) with a list of predefined colors.

Available options:

  1. Hue
  2. Saturation
  3. Lightness
  4. Alpha
  5. List?

By default Hue, Saturation and Lightness increase or decrease value by 5 and Alpha by 0.05.

  • CTRL — larger step (HSL: 10, A: 0.1)
  • SHIFT — even larger step (HSL: 20, A: 0.2)
  • ALT — smaller step (HSL: 1, A: 0.01)
  • ALT + CTRL — even smaller step (HSL: Magic numbers, A: 0.001)
  • ALT + SHIFT — even smaller step for Saturation and Lightness (0.2)

Turn: CSS Filters

If the cursor(s) is on a filter definition, you can change these functions: brightness, contrast, saturate, hue-rotate, opacity and blur. The cursor has to be on non-number/non-color part of the definition and the definition must be on one line. Functions that are not used will be added to the end of the definition.

Available options:

  1. Brightness
  2. Contrast
  3. Saturation (saturate)
  4. Hue (hue-rotate)
  5. Opacity
  6. Blur

By default Brightness, Contrast, Saturate and Opacity increase or decrease value by 5%, Hue by 5deg and Blur by 1px.

  • CTRL — larger step
  • SHIFT — even larger step
  • ALT — smaller step
  • ALT + CTRL — even smaller step
  • ALT + SHIFT — even smaller step

On macOS ALT should correspond to OPT and CTRL to CMD.

Tip: ALT-GR (right ALT) works the same as left ALT, so you can use the right modifier keys.


Predefined values

In the project folder you can create a file named crowncontrol.json with predefined values. Currently supports only colors. The path to the file can be changed in the options.

{
    "colors": [
        "deepskyblue",
        "rgba(255, 255, 0, 0.5)"
    ]
}

Changelog

  • 1.0.1
    • Value for blur() can not be negative
  • 1.0.2
    • CSS properties don't require colon and semicolon
    • Informs user if update requires reinstallation of profile
  • 1.1.0
    • Added support for CSS Filters
    • Consistent behavior of modifier keys: CTRL + ALT + SHIFT -> ALT + SHIFT
  • 1.1.1
    • Numbers can be adjusted within selections
    • Removed detection for CSS properties (font-weight, opacity, line-height) when adjusting numbers (too complicated to make it consistent for the entire CSS)
  • 1.1.2
    • Colors can be changed from a list with predefined colors
  • 1.2.0
    • Options