GithubHelp home page GithubHelp logo

zekth / keyset-catalog Goto Github PK

View Code? Open in Web Editor NEW
12.0 2.0 3.0 4.72 MB

Just a simple app to browse available keysets and find the best matches for a color

Home Page: https://zekth.github.io/Keyset-Catalog/

License: MIT License

JavaScript 1.65% HTML 0.25% Vue 72.92% TypeScript 22.25% SCSS 2.93%

keyset-catalog's Introduction

Just a simple app to browse available keysets and find the best matches for a color. Accessible here

Develop

npm install
npm run serve

Code style use prettier and eslint. Runs before the build

npm run prettier # check code style
npm run prettier:fix # fix code style
npm run lint # check linting

Add a Keyset

Keysets are currently only GMK ones, and the datastore is in src/keysets/gmk.ts. Colors support only HEX values.

A base keyset is:

  {
    name: 'Taro',
    designer: 'pwade3',
    colors: {
      base: {
        background: '#8e71a2',
        legend: '#170b19'
      },
      mod: {
        background: '#170b19',
        legend: '#8e71a2'
      },
      accent: {
        background: '#5ed8df',
        legend: '#8e71a2'
      }
    }
  }

This keyset can be customized for each key. Ids of keys are the same as the ones you can find in QMK. For example see the GMK Terminal with the VIM kit:

{
    name: 'Terminal',
    designer: '',
    colors: {
      base: {
        background: '#393b3b',
        legend: '#689b34'
      },
      mod: {
        background: '#393b3b',
        legend: '#689b34'
      },
      accent: {
        background: '#689b34',
        legend: '#393b3b'
      }
    },
    specialKeys: {
      KC_H: {
        type: 'accent',
        thirdContent: '←'
      },
      KC_J: {
        type: 'accent',
        thirdContent: '↓'
      },
      KC_K: {
        type: 'accent',
        thirdContent: '↑'
      },
      KC_L: {
        type: 'accent',
        thirdContent: '→'
      }
    }
  }

Also weebAlt and weeb are stored as const because it's used in several keysets. You can see for example Bento:

{
    name: 'Bento - weeb alt',
    designer: 'biip',
    colors: {
      base: {
        background: '#fff3ef',
        color: '#3e728f'
      },
      mod: {
        background: '#3e728f',
        color: '#fb7279'
      },
      accent: {
        background: '#fb7279',
        color: '#3e728f'
      },
      ptn: {
        background: 'red',
        color: 'white'
      }
    },
    specialKeys: {
      KC_ESC: {
        content: 'Putain',
        type: 'ptn'
      },
      ...weebAlt // Spread operator
    }
  }

keyset-catalog's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar msevilgenius avatar zekth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

keyset-catalog's Issues

Alternate F keys & top keypad might stay when changing sets

When you switch from a keyset that has special non base colors on F5-F8 or the top numpad row to a keyset that has not, the previous set colors stays.

To workaround you need to:

      KC_F5: { type: 'base' },
      KC_F6: { type: 'base' },
      KC_F7: { type: 'base' },
      KC_F8: { type: 'base' },

      KC_PENT: { type: 'base' },
      KC_PMNS: { type: 'base' },
      KC_PPLS: { type: 'base' },
      KC_PSLS: { type: 'base' },
      KC_NLCK: { type: 'base' },
      KC_PAST: { type: 'base' },

in the specialKeys.

Add a color matching disclaimer

Something along the line of:

Disclaimer:
Colors displayed here might not match the real final set color.
This can be because of a poorly calibrated screen, screen color space not matching full plastic color space, additive RGB colors for screen and pigments based plastic color composition. They should match as closely as possible the renders color of the keyset respective Group Buy page.

Support for multi accent colors

Some keysets (like Modern Dolch or Eclipse) have multiple accent colors (sometimes in the base kit or extra kits).

It would be great to be able to declare accents as an array of background/legend colors and display a combo box to be able to switch from one accent combination to another for those keysets instead of having to duplicate the keyset altogether in the already huge list.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.