Giter Site home page Giter Site logo

Comments (10)

dmtrKovalenko avatar dmtrKovalenko commented on July 30, 2024

Ok that's very interesting insights. Thanks so much for the test run.

Very surprised with your issues related to key press, that should just work. Maybe you can provide info about terminal app, because I tested that (tbh not on windows) and I didn't have neither duplicates key press nor u/r problems.

from blendr.

Crzyrndm avatar Crzyrndm commented on July 30, 2024

Ok that's very interesting insights. Thanks so much for the test run.

Very surprised with your issues related to key press, that should just work. Maybe you can provide info about terminal app, because I tested that (tbh not on windows) and I didn't have neither duplicates key press nor u/r problems.

I will have a poke around and see if I can identify the source of the keypress issues.

from blendr.

Crzyrndm avatar Crzyrndm commented on July 30, 2024

Added some tracing events, the keypress events for "Press" and "release" are both causing the selected device to change. I assume this is true for all other cases as well

https://github.com/Crzyrndm/blendr/tree/keypress-duplication

2023-07-01T01:38:40.833981Z  INFO blendr::tui::peripheral_list: key=KeyEvent { code: Down, modifiers: NONE, kind: Press, state: NONE }
2023-07-01T01:38:40.834060Z  INFO blendr::tui::ui::list: 
2023-07-01T01:38:40.836892Z  INFO blendr::tui::peripheral_list: key=KeyEvent { code: Down, modifiers: NONE, kind: Release, state: NONE }
2023-07-01T01:38:40.836907Z  INFO blendr::tui::ui::list: selected=1
2023-07-01T01:38:50.886439Z  INFO blendr::tui::peripheral_list: key=KeyEvent { code: Down, modifiers: NONE, kind: Press, state: NONE }
2023-07-01T01:38:50.886490Z  INFO blendr::tui::ui::list: selected=2
2023-07-01T01:38:50.889529Z  INFO blendr::tui::peripheral_list: key=KeyEvent { code: Down, modifiers: NONE, kind: Release, state: NONE }
2023-07-01T01:38:50.889558Z  INFO blendr::tui::ui::list: selected=3

from blendr.

Crzyrndm avatar Crzyrndm commented on July 30, 2024

So with a simple filter to just press events (no release/repeat)

  • duplicated navigation/filtering is gone
  • u works (not sure if r works or not. May have misunderstood the functionality)
  • > does connect (pairing unsure?)

That particular issue has a lot of side effects :/

from blendr.

Crzyrndm avatar Crzyrndm commented on July 30, 2024

bleplug pairing on windows is done at the OS level which is ... frustrating but anyway

Even after pairing I had no characteristics. It seems like there's a missing call to discover_services after connection?

from blendr.

dmtrKovalenko avatar dmtrKovalenko commented on July 30, 2024

Very interesting! I'll debug all of this tonight. That is very helpful!

from blendr.

gitmalong avatar gitmalong commented on July 30, 2024

Related to the keypress issue crossterm-rs/crossterm#752

from blendr.

chrysn avatar chrysn commented on July 30, 2024

I think that the resorting issue is particularly troublesome because it is completely unstable. If new devices popping up were added live, even mid-list, that'd be fine. On my system that list updates once per second, always comes out randomly sorted (neither alphabetical nor by RSSI), contains a lot of devices that are not nearby (i.e. that were once connected to and are remembered by bluez, but don't show an RSSI), and the cursor stays at the same line and doesn't move along with the selected device. Until something quite elaborate is established (maybe sorting by rolling-average RSSI where on changes the cursor moves with the selected device), I think it'd be best if that list was append-only for now.

from blendr.

dmtrKovalenko avatar dmtrKovalenko commented on July 30, 2024

I fixed a couple of issues mentioned here in v1.0.1:

  1. List selection is now stable and does not move from the selecting device when new devices are popping around
  2. Windows key pressing issue should be gone. Unfortunately, I don't have access to real Windows matching so if @Crzyrndm you can check it out that would be very helpful.
    3. Notification/Read history. I started working on this feature but it appeared to be much bigger cause I want to add more features around it to make it really useful, so I will make work on this a little longer, probably will release it closer to the weekend.
  3. Issue mentioned with pairing – I don't think it will be easy to implement as a part of this library, it should be done on OS level. I managed to connect and read the characteristics of my Ember mug that was paired with the computer before so I think it should work out of the box.

from blendr.

chrysn avatar chrysn commented on July 30, 2024

from blendr.

Related Issues (4)

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.