Coder Social home page Coder Social logo

docs's People

Contributors

ezuk avatar inkthink avatar sethherr avatar

Stargazers

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

Watchers

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

docs's Issues

The GUI configurator source code?

Uh I know this is wrong place, but is the GUI configurator source code somewhere? I would like to try to write a really simple keymap support for it.

Take for instance finnish keymap file in Ubuntu/Linux:

/usr/share/X11/xkb/symbols/fi

//
// X keyboard maps for Finland
//
// SFS 5966 / Kotoistus keymap created by Troy Korjuslommi
// Classic keymap based on traditional by Marko Myllynen
// Eliminate deadkeys alternative sent by Linus Torvalds
//

default  partial alphanumeric_keys
xkb_symbols "kotoistus" {

    // Official keymap for Finland based on SFS 5966 standard
    //
    // This keymap implements all the functionality of Annex 1
    // of the standard and additionally defines the following to
    // allow entering these characters with keyboards without LSGT.
    //
    // AE08+4, U+003C : LESS-THAN SIGN     (less)
    // AE09+4, U+003E : GREATER-THAN SIGN  (greater)
    // AD08+4, U+007C : VERTICAL LINE      (bar)
    //
    // Annex 3 of the standard is implemented in fi_FI.UTF-8/Compose

    name[Group1]="Finnish";

    key <TLDE> { [  section,         onehalf,          dead_stroke,           NoSymbol              ] };
    key <AE01> { [  1,               exclam,           NoSymbol,              exclamdown            ] };
    key <AE02> { [  2,               quotedbl,         at,                    rightdoublequotemark  ] };
    key <AE03> { [  3,               numbersign,       sterling,              guillemotright        ] };
    key <AE04> { [  4,               currency,         dollar,                guillemotleft         ] };
    key <AE05> { [  5,               percent,          permille,              leftdoublequotemark   ] };
    key <AE06> { [  6,               ampersand,        singlelowquotemark,    doublelowquotemark    ] };
    key <AE07> { [  7,               slash,            braceleft,             NoSymbol              ] };
    key <AE08> { [  8,               parenleft,        bracketleft,           less                  ] };
    key <AE09> { [  9,               parenright,       bracketright,          greater               ] };
    key <AE10> { [  0,               equal,            braceright,            degree                ] };
    key <AE11> { [  plus,            question,         backslash,             questiondown          ] };
    key <AE12> { [  dead_acute,      dead_grave,       dead_cedilla,          dead_ogonek           ] };

    key <AD01> { [  q,               Q,                q,                     Q                     ] };
    key <AD02> { [  w,               W,                w,                     W                     ] };
    key <AD03> { [  e,               E,                EuroSign,              NoSymbol              ] };
    key <AD04> { [  r,               R,                r,                     R                     ] };
    key <AD05> { [  t,               T,                thorn,                 THORN                 ] };
    key <AD06> { [  y,               Y,                y,                     Y                     ] };
    key <AD07> { [  u,               U,                u,                     U                     ] };
    key <AD08> { [  i,               I,                idotless,              bar                   ] };
    key <AD09> { [  o,               O,                oe,                    OE                    ] };
    key <AD10> { [  p,               P,                dead_horn,             dead_hook             ] };
    key <AD11> { [  aring,           Aring,            dead_doubleacute,      dead_abovering        ] };
    key <AD12> { [  dead_diaeresis,  dead_circumflex,  dead_tilde,            dead_macron           ] };

    key <AC01> { [  a,               A,                schwa,                 SCHWA                 ] };
    key <AC02> { [  s,               S,                ssharp,                NoSymbol              ] };
    key <AC03> { [  d,               D,                eth,                   ETH                   ] };
    key <AC04> { [  f,               F,                f,                     F                     ] };
    key <AC05> { [  g,               G,                g,                     G                     ] };
    key <AC06> { [  h,               H,                h,                     H                     ] };
    key <AC07> { [  j,               J,                j,                     J                     ] };
    key <AC08> { [  k,               K,                kra,                   NoSymbol              ] };
    key <AC09> { [  l,               L,                dead_stroke,           NoSymbol              ] };
    key <AC10> { [  odiaeresis,      Odiaeresis,       oslash,                Oslash                ] };
    key <AC11> { [  adiaeresis,      Adiaeresis,       ae,                    AE                    ] };
    key <BKSL> { [  apostrophe,      asterisk,         dead_caron,            dead_breve            ] };

    key <LSGT> { [  less,            greater,          bar,                   NoSymbol              ] };
    key <AB01> { [  z,               Z,                ezh,                   EZH                   ] };
    key <AB02> { [  x,               X,                multiply,              periodcentered        ] };
    key <AB03> { [  c,               C,                c,                     C                     ] };
    key <AB04> { [  v,               V,                v,                     V                     ] };
    key <AB05> { [  b,               B,                b,                     B                     ] };
    key <AB06> { [  n,               N,                eng,                   ENG                   ] };
    key <AB07> { [  m,               M,                mu,                    emdash                ] };
    key <AB08> { [  comma,           semicolon,        rightsinglequotemark,  leftsinglequotemark   ] };
    key <AB09> { [  period,          colon,            dead_belowdot,         dead_abovedot         ] };
    key <AB10> { [  minus,           underscore,       endash,                dead_belowcomma       ] };

    include "nbsp(level4)"
    include "nbsp(level3)"
    include "kpdl(comma)"
    include "level3(ralt_switch)"
};

It wouldn't be too hard to convert AXXX to VK code, then take (at very least) the first item on the list of each item and show that instead in the GUI configurator.

"Device found but unable to open" error with teensy-loader-cli on Linux

Problem description

When using teensy-loader-cli to flash a layout I get the following error when I press the reset button on my Ergodox EZ:

$ teensy-loader-cli --mcu=atmega32u4 -w -v ergodox_ez_firmware_zeds_layout_mggjzw.hex -v
Teensy Loader, Command Line, Version 2.1
Read "ergodox_ez_firmware_zeds_layout_mggjzw.hex": 25854 bytes, 80.2% usage
Waiting for Teensy device...
 (hint: press the reset button)
Found device but unable to open
Found device but unable to open

Steps to reproduce

Here are the exact steps I take:

  1. Plug in the Ergodox EZ USB-cable into my computer
  2. Verify that the Ergodox EZ is initialized and appears as a new USB device (using dmesg)
  3. Run teensy-loader-cli --mcu=atmega32u4 -v -w ergodox_ez_firmware_zeds_layout_mggjzw.hex
  4. Verify that teensy-loader-cli is running and that it has output Waiting for Teensy device...
  5. Press reset pint on Ergodox EZ with a paperclip

Troubleshooting

What I have tried the following without success:

  • Using the default layout downloaded from the graphical configurator
  • Using a custom layout downloaded from the graphical configurator
  • Holding the reset button pressed while plugging in the Ergodox EZ
  • Tried different versions of teensy-loader-cli on different computers

Solution

After reading the following PJRC forum post
I tried adding the mentioned UDEV rules, and that solved the problem for me:

$ teensy-loader-cli --mcu=atmega32u4 -v -w ergodox_ez_firmware_zeds_layout_mggjzw.hex
Teensy Loader, Command Line, Version 2.1
Read "ergodox_ez_firmware_zeds_layout_mggjzw.hex": 25854 bytes, 80.2% usage
Waiting for Teensy device...
 (hint: press the reset button)
Found HalfKay Bootloader
Read "ergodox_ez_firmware_zeds_layout_mggjzw.hex": 25854 bytes, 80.2% usage
Programming..........................................................................................................................................................................................................
Booting

I'm closing this ticket directly since the problem is solved. The only
reason I created it was so that anyone else faced with the same problem will
easily find this ticket while searching for "Ergodox EZ found device unable to open"
or similar search terms.

For maximum convenience, here's a script that will install the UDEV rules for you
(unless you are using NixOS):

install-teensy-udev-rules.sh

#!/usr/bin/env bash

#
# Script that installs PJRC UDEV rules for allowing to use Teensy-based devices.
# Downloads the rules file, checks that it matches the SHA256 checksum in this
# script and then moves the downloaded UDEV file
# to "/lib/udev/rules.d/49-teensy.rules".
#
# Note: you need to be able to run sudo to use this script.
#
# Run without providing any arguments:
#
# ./install-teensy-udev-rules.sh
#

set -e

UDEV_RULES_NAME="49-teensy.rules"
UDEV_RULES_URL="https://www.pjrc.com/teensy/$UDEV_RULES_NAME"
UDEV_RULES_SHA256="031de0b26991b5a3b19c497d9c0a17f86c40c55d925b9d07d19ab89f2286469d  $UDEV_RULES_NAME"
UDEV_RULES_DEST="/lib/udev/rules.d/49-teensy.rules"

WORK_DIR=$(mktemp -d)

function finish {
  echo ">> Cleaning up work dir"
  popd
  rm -rf "$WORK_DIR"
  echo "-- Clean up done"
}
trap finish EXIT

pushd "$WORK_DIR"

echo ">> Downloading UDEV rules file"

curl "$UDEV_RULES_URL" --output "$UDEV_RULES_NAME"
echo "031de0b26991b5a3b19c497d9c0a17f86c40c55d925b9d07d19ab89f2286469d  $UDEV_RULES_NAME" > "$UDEV_RULES_NAME.sha256"

sha256sum -c "$UDEV_RULES_NAME.sha256"

if [ -f "$UDEV_RULES_DEST" ]; then
    echo "UDEV rule '$UDEV_RULES_DEST' is already installed, quitting."
    exit
fi

echo ">> Installing UDEV rules file"

sudo install -o root -g root -m 0664 "$UDEV_RULES_NAME" "$UDEV_RULES_DEST"
sudo udevadm control --reload-rules
sudo udevadm trigger

echo "-- Installation complete"

If you are using NixOS you simply add this to your
/etc/nixos/configuration.nix file and run nixos-rebuild switch:

    services.udev.extraRules = ''
      # UDEV rules for Teensy USB devices
      ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
      ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
      SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666"
      KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666"
    '';

Add more keys to the keylist

Add information from jackhumbert/qmk_firmware about custom modifier keys.

This seems like a good place to document what keys are available. We could pull this list of keys and put it into fusion.

Or we could put this keylist directly into fusion. Unclear where the best place for it is.

Where is the Fusion repository?

The links in the README to the Fusion repository appear to be broken, has it gone private?

How do I submit an issue request for Fusion?

Is the Ergodox-EZ opensource?

I've looked at other open source keyboards, and found downloadable PCB designs. I don't see that here. Are those designs available?

mouse keys and massdrop configurator?

Are the mouse keys or hyper keys available with the massdrop configurator or does that require C?
Also, will using the massdrop configuration tool to alter the base layer override the special layers that are included by default?

ergodox ez not waking up after sleep

Been having an issue with the Ergodox (with QMK) not waking up after the computer goes to sleep. Forced to unplug, wait ~10 seconds, re-plug keyboard to get a keyboard reboot (led sequence flash), after a few seconds, the keyboard responds. Can't do a quick plug/re-plug, nor does it work immediately. Doesn't seem to be a hardware setting--that same port works fine with other keyboards. Is this something intrinsic to the Teensy microcontroller?

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.