Code Monkey home page Code Monkey logo

python-keyboard's People

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

python-keyboard's Issues

Non-functional D and . Keys

I got my M60 fully assembled but I'm having issues with a couple of the keys. Everything seems to work fine right now except for the D and . keys. I've checked and as far as I can tell the switch is seated correctly. I'm not sure if I'm looking at a hardware issue with those two keys or something else. Any ideas?

Bluetooth Problems

Is anyone using this keyboard with Bluetooth successfully?

I've been trying for a day or two to get it to work reliably. I can get it to connect to either of my two computers (a mac and a PC). It will work for a bit, but then after a while it seems to flake out and start typing random characters, or just stops working altogether.

At one point the keyboard worked itself into some kind of state where I couldn't type. I tried enabling/disabling bluetooth and USB to no avail. I finally fixed it by updating the firmware and restoring all of the files that it came with on the USB drive.

Feature Request: Charging Indicators

It would be nice to have some sort of battery status keybinding that lights up across the top row with how charged the keyboard is and indicate whether the keyboard is currently charging or discharging. Using the top row is just an idea, this could be implemented in a number of different ways.

Creating New UF2

Thanks for describing how to set up the development environment for the board, it worked perfectly! Could you also please describe the process of creating a new UF2 file from the repository? I am interested in being able to package up my own circuitpy compiled images.

matrix.wait doesn't block?

it seems like the C implementation of the matrix.wait method immediately returns, resulting in a super tight primary loop. The python matrix.py code does not have this issue.

Is the C implementation public anywhere?

Shuttingdown the Keyboard

I seem to be having issues shutting the keyboard down both when I press the ON/OFF button and then I do the SHUTDOWN keycode. It shuts down for a second and then comes back on. Is there anyway to be able to shutdown the keyboard entirely until I press the ON/OFF button again?

LAYER_TOGGLE throws exception

I'm, attempting to create a key binding that permanently toggles a layer on and off after each key press. However, upon setting a binding such as:

L4 = LAYER_TOGGLE(4)

I see the following exception:

image

I suspect it's because we're trying to do 0.25 <<10 (because 4/4 == 0.25). If I change it to integer division (4//4), I no longer get an exception, but the binding seems to have no effect.

The closest I've been able to get to achieving the result I want is by defining L4 as LAYER_TAP_TOGGLE(4). This is inadequate for two reasons:

  1. the layer reverts back to layer 0 after a few moments
    2.. I have to hold down the key for a bit for it to toggle. Ideally, I could press the binding quickly and see results.

My particular use case is switching from a windows/linux layout to a mac one withhout having drag/drop code.py every time. I could also see this working out for switching between different language layouts.

RGB Light Patterns

I have been playing around with the Backlight API and I have had success turning on all the colors and making some simple patterns. Although I haven't figured out how to get the patterns running in the background. Is there any way to do this currently? To have some small code that generates a pattern to change the lights while the keyboard stays functional. Or even a way to program lighting as a reaction to pressing a key?

Power Consumption

Whats the power consumption difference between idling while connected to bluetooth compared to energy consumption in SUSPEND mode? Thanks!

Change doc tapping D to V

Hi, nice work!

just a minor change to official docs would be great for newbies, change D tapping + navigation to V, because:

  1. V is a much less used letter, so in normal typing you rarely have to tap V, in English:

image

  1. V key stays in the same location across different key maps:
    QWERTY and Colmak, V stays at the same place

  2. The strongest finger is your index finger, more ergonomic to use this finger to press and hold a key

: D

Latest code.py Does Not Work

Copied the latest code.py to my keyboard but it does not work.
Maybe I'm missing something. I have the keyboard library folder within the root CIRCUITPY directory, along with code.py. I've also tried it with the keyboard library inside a lib/ folder. Is there a library that is needed that is not included here? I'm having trouble locating any documentation on any of this.

Layer tap key does not repeat

I probably wouldn't have run across this but I use the SPACE key as my "layer 1" Layer Tap Key. In QMK when I use this configuration, I can make the SPACE key auto repeat by tapping it twice and holding it on the second tap. However, the python-keyboard code doesn't recognize this.

I have found a work around that is great for keys like SPACE and ENTER that don't have shifted variants. I put SPACE on "layer 4" and can then SHIFT-SPACE an auto repeat if I need it. I don't have as much need for auto repeating B, D, or ';' but I could see this as being a potential issue in some edge cases.

Keyboard Crashing Windows Inputs

Keyboard was working normally, until I transported it home from work one day. I transport it regularly, but always in a case. Upon returning home and plugging the keyboard into my other computer, All the inputs for that computer crashed. I could not type anything and the mouse functions were acting weird too. The esc key on my other keyboard that I plugged in was tabbing through my open windows for example, and my left click was actually middle clicking I think.

The keyboard shows a blue flashing led on the 8 key. I reset to factory settings and flashed the latest firmware onto the board after the behavior started, and nothing has worked so far. I also removed all the keys from the board and removed it from the case to eliminate the possibility of any shorts.

I am at a loss here. Any help would be appreciated.

feature request: connect to BLE mouse

I'm interested in the BLE function.
cuz m60 can actor as a mouse
if we can connect a pc with BLE,
and connect a mouse via BLE at the same time.
retrieve mouse move and click event from real mouse,
then send mouse event to pc,
then we can use 1 keyboard and mouse for several pc

Stops responding on Windows 10

I have been using my Makerdiary M60 with my Linux computer and it works great, but when I use it with my Windows laptop it stops inputting key presses after about a minute.

Steps I take:

  1. Plug it in, I get a error message like this
    image
  2. The keyboard then works fine for a while (a couple of seconds), but the minute I don't type on it for a couple of seconds, it stops registering key presses.
  3. I unplug it or press the reset button and we are back at Step 1

I have a theory that is somehow goes into sleep mode or something, but don't know enough to properly debug it.

Issue switching to lower layers

I have currently set up a layer toggle from layer 0 to layer 3 with tap keys to activate layers 1 and 2. When I fully toggle layer 3 currently, it seems to break the keys that toggle layers 1 and 2. In the debugging logs it says that i switch to layer 9 when I enable layer 3, and then I tap toggle to layer 1, it shows that it becomes layer 11 which doesn't seem to be correctly parsed to layer 1. Is there a way to fix this? So if I toggle layer 3, I can still have layer tap keys to layers 1 and 2.

Bluetooth much more responsive when on low battery.

This might not make any sense, but the bluetooth throughput (connected computer is MacOS, if that matters) all of a sudden becomes dramatically (~4x) faster when my keyboard drops below ~30% battery. Any idea on what could be the cause of this?

Feature request: Custom RGB modes tied to layers

It would be great if the keyboard supported custom RGB modes and assigning those modes to layers, so that whenever a particular layer is active, that RGB mode is also active.

That way, for example, you could have the keyboard highlight all active keys in a particular mode.

E.g., it would be nice to be able to set up a system where layer 1 can be tied to a specific RGB mode, so when you hold "d" in the default layout, the direction keys appear in white, for example, with the F1-12 keys in brown, and the suspend/boot keys in gray, etc.. You could set it to have all inactive keys un-illuminated. When you release "d," it reverts to the default RGB mode.

TAP Key Delay

What is the current tap key delay? Would it be possible to add a feature to adjust this time?

Switch Orientation.

I'm into mechanical keyboards for a while.
I stumbled upon your project from an reddit/r/mechanicalkeyboard post
and already ordered a pcb from you even though your layout option
is with the basic 60 percent isn't my cup of tea. I usually prefer all my boards to have tsangan layout.
only to find that you made one big mistake by not knowing about it.

Your switches are facing the wrong way and therefore will have issues with cherry profile keycaps.
Those keycaps are very common in the keyboard scene and the keys in both
the qwe and asd row will hit the housing of the switch and make an unwanted sound.
This is an issue even without additional leds.

I do know that you are quite far in your design process but this would prevent
quite a lot of people from using this for more as a tinker project.

Sources:
me owning a hotswap pcb with that issue and using silent switches on those rows made them very unsilent.
Youtube video of Wildcat explaining the issue
Reddit post about the plank rev6 having that issue
Reddit post about switch washers sold by novelkeys and olkb specifically to fight that issue

In my opinion the way to fix this would be to orient all switches so the leds are facing the south expect:
the switches in the bottom row to the north so that the don't shine towards the user
the switches next to the usb port so you don't have an issue with the clearance.

Battery Compatibility

How is power handled on the m60 board to provide integration with the nRF52840 module? I am excited to get my prototype board and am trying to figure out what sort of battery is appropriate and if I need to use some form of buck/boost circuit or if that sort of logic is being built into the m60 circuit when providing the JST connection.

Does it support TAP feature?

Hi,
Using python code as keymap is quite simple, and I wonder if it support tap feature, like QMK Mod-Tap

Thanks for making this amazing keyboard!

battery not charging

Hi guys, posting here, seems more active than the community forums :)

I have a m.60 keyboard, and I bought a battery with a JST 3 pin connector ( https://www.ebay.com/itm/173602816497 )

Voltage reads 3.82V, both on the multi-meter and in the firmware on p0_02 ( using battery_level ), so for a lipo, rough estimate around 50% charge.

I have checked the thermistor resistance is a proper 10k, NTC is working properly, test points on the pcb show also a 9.9k ohms using the multi-meter.

Plugging into multiple different usb ports ( usb-a and usb-c ), I know those ports are able to charge my phone, p0_03 stays True all the time, so no charging happening ( and I don't see either the voltage rising ).

Another issue, plugging an external battery on the usb port instead of going to the computer, the board freezes, keyboard seems to stay connected to bluetooth, but no more typing possible ( I tried to use the switch bt key to make sure the keyboard was not trying to send to usb ). But that is secondary, main issue is the inability to charge.

Is there something special I missed to be able to charge that battery by any chance ?

How long does it take to flash new firmware?

Tried following the steps of reflashing the firmware by entering boot loader mode.

I was able to drag and drop the uf2 file into the M60Keyboard usb drive, and the M60Keyboard drive eventually disconnects.

However the CIRCUITPY USB drive never showed up. The LED light on the M.2 module would flash a faint green light periodically at this stage.

Is something wrong? Are there other ways to reflash the firmware?

upgrade CircuitPython

At most time, it works well on Windows 11. I even can see the left Battery volume. It is great.

But sometimes, when I am typing, Bluetooth got lost and I can't type anything. After a while, it connect again. I also noticed device status switched bettwen "paired" and "connected".

Wireless device: Wi-Fi 6 AX200.

Is there way to log error so we can debug and find root cause.

AltGr is invoking Left Ctrl, and AltGr

Hello!

Based on correspondence back and forth with [email protected] (Zelin), I'm making this issue:
Whenever I press AltGr, I get both AltGr and Left Control.
Here's an excerpt:

KEY-UP   - QMK: KC_LCTL Event key: Control     Code: ControlLeft   KeyCode: 17 in 56.365ms
KEY-UP   - QMK: KC_RALT Event key: AltGraph    Code: AltRight      KeyCode: 18 in 55.965ms
KEY-DOWN - QMK: KC_LCTL Event key: Control     Code: ControlLeft   KeyCode: 17
KEY-DOWN - QMK: KC_RALT Event key: AltGraph    Code: AltRight      KeyCode: 18
KEY-UP   - QMK: KC_LCTL Event key: Control     Code: ControlLeft   KeyCode: 17 in 46.915ms
KEY-UP   - QMK: KC_RALT Event key: AltGraph    Code: AltRight      KeyCode: 18 in 46.910ms

These come from Keyboard Configurator

I think this is an issue. Does anyone have comments on this?

Tapkeys Too Slow for Regular Touch Typing

Out of the box, the first thing I noticed is that the d, b, and ; keys had issues. Typing "dead dead dead" at quick-ish speed (I'm no speed demon) comes out as "dea dea dea" 100% of the time. I tried each of the other keys, and noticed the same behavior with b and ;.

Reading the docs, I saw that these are intended to function as "tapkeys." That sounds great in theory, but as-is they are far too slow for regular typing.

I resolved this for myself by disabling the tap keys in the code.py configuration file. But it looks like the tapkeys feature needs some more testing with regular touch typists.

Expose I2C Bus

Feature request for future revisions of the board:

Have an unpopulated 4-pin header that exposes the i2c bus (plus power and ground) for external devices. Currently I'm just soldering a port to the resistors near the LED controller, but it'd be easy and free to just incorporate this into the board design.

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.