Giter VIP home page Giter VIP logo

Comments (7)

wshanks avatar wshanks commented on August 28, 2024

I have not had a chance to test this but it sounds reasonable. The add-on checks the selected element to determine if it should capture shortcut keys or let them through and all the textbox-like elements are hard-coded. There must have been some new one used that the code does not have listed at the moment. The way I usually check for this is to edit the code and have it log the properties of the selected element on key events to figure out what needs to be added to the textbox check.

from tbkeys.

BillH99999 avatar BillH99999 commented on August 28, 2024

Thanks. I hope you will be able to find a fix. In case it makes any difference, the problem occurs for me even if I use just the default key settings. I uninstalled and re-installed the add-on and still get the problem.

Bill

from tbkeys.

m707 avatar m707 commented on August 28, 2024

Same is true for an editor session the sieve plugin:

https://github.com/thsmi/sieve/

is opening. Since TB91 I have to c&p my changes to sieve scripts to avoid the actions from tbkeys. Everything was fine in TB78.

from tbkeys.

wshanks avatar wshanks commented on August 28, 2024

I looked at this some now. In the debugger I see that when the built-in browser tab for the addons page has focus the element's tagName is "browser". I can add that to the set of tags that tbkeys ignores. I poked around at the browser object but couldn't see how to access its internal state. So I don't see how to detect if a text element has focus inside of the browser. For now, I will just ignore the entire browser tab. If someone finds a way to ignore just selected text elements in the browser, we could do that.

I tried installing sieve, but I could not get to the editor UI because I do not have account with an email provider that supports sieve. @m707 if you want, you can try to figure out yourself what element needs to be ignored. Here are the steps I used:

  1. Open the developer toolbox (ctrl+shift+i, or tools->developer tools->developer toolbox).
  2. ctrl+shift+f and search for "tbkeys"
  3. Click on a line from "implementation.js" to open the file (for me this is the only file in wihch "tbkeys" is found by the search).
  4. Click on a line number inside of stopCallback to set a breakpoint there (like the let firstCombo = combo; line).
  5. Press a key in the sieve editor to trigger the breakpoint.
  6. In the right hand pane of the toolbox window, there will be a "scopes" section that has the variables for the stopCallback function.
  7. Check what the value of the tagName variable is. Maybe we can add that to the ignore list.
  8. You could also expand and poke around at the element variable which is the selected element when the key was pressed to see if there are any other properties that would be important to check when deciding whether or not to capture the keypress. This probably isn't necessary -- only if the tagName had some generic value that we don't want to ignore all the time.

from tbkeys.

BillH99999 avatar BillH99999 commented on August 28, 2024

Thanks for looking into it. Will you be putting out a new version?

Thanks,
Bill

from tbkeys.

wshanks avatar wshanks commented on August 28, 2024

Yes, it is released on github now and I submitted it to addons.thunderbird.net (which I never did for version 2.1.2).

from tbkeys.

BillH99999 avatar BillH99999 commented on August 28, 2024

I downloaded it from Github and the problem I reported is fixed. I am now able to type into the search field.

Thanks!
Bill

from tbkeys.

Related Issues (20)

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.