Giter VIP home page Giter VIP logo

brookhong / surfingkeys Goto Github PK

View Code? Open in Web Editor NEW
5.1K 80.0 460.0 7.46 MB

Map your keys for web surfing, expand your browser with javascript and keyboard.

Home Page: https://chrome.google.com/webstore/detail/surfingkeys/gfbliohnnapiefjpjlpjnehglfpaknnc

License: MIT License

JavaScript 78.96% CSS 4.53% HTML 2.05% TypeScript 11.46% Lua 2.96% Shell 0.03% Batchfile 0.01%
chrome vim extension chromium firefox-addon firefox edge-extension safari-extension

surfingkeys's People

Contributors

aculich avatar alexalekseyenko avatar aspiers avatar b0o avatar brookhong avatar cibinmathew avatar dgreuel avatar dmfay avatar ericdwang avatar eugercek avatar gliptak avatar gzj avatar igorrafael avatar ispringle avatar j-hui avatar jaimehrubiks avatar jgkamat avatar kalbasit avatar liby avatar max-sixty avatar maximbaz avatar ncaq avatar nicholasasimov avatar perfectayush avatar philia avatar qwivan avatar sethidden avatar simonwjackson avatar stepnem avatar utrumo 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  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

surfingkeys's Issues

prevent steal focus on page load

vim操作网页最烦的两事:

    1. 打开网页后光标在输入框,每次操作变成了输入
    1. pdf和newtab之类的tab,所有操作失效

第一个vimium基本解决了,可在surfingkeys是否有类似的解决方案?

第二个firefox没任何问题,可chrome目前我还没看到合适的插件能解决,这个在chrome是不是无解?

rearrange tabs between windows, select tabs in current window, with title, containing substring

the ability to rearrange tabs between windows. i always have several windows, and from time to time sort tabs between them, accordingly to their topic.

usually i press ctrl in some window, select needed tabs and drag n drop them to another window. which is inconvenient and is connected with some difficulties

it would be great to press, say, capital S, enter substring (say, "stackoverflow"), tabs will be selected, then the command to move them and a number (1..0) of window, where to move them (or n for new window).

the same function, "select tabs", namely, may be used to close them, for example. or pin them, or group to the left side of window, or "save as" to directory, save bookmarks, anything. (i understand that half of this is just pretty unneeded, but you get the idea).
in this case, S that was pressed to select tabs interpreted with keys that was pressed after tab search as single command to not occupy keys: S, [search string], enter, m, 1 (move tabs containing search string from this window to window 1) and so on

Shift + T - doesn't list recently used tabs - but orders the list in incremental order.

Shift + T - modifier that lists opened tabs doesn't list tabs in recently viewed order as in Vimimum
Steps to reproduce:

  1. Imagine your have 10 tabs in your browser
  2. Switch / view tabs in following order 8, 9, 10 (10 would be the latest tab that you viewed)
  3. Now press Shift + T to list your opened tabs - you would expect that tabs list is populated in the following order - as in Vimium - thus pressing one time shift + enter will bring you to tab number 9.
    What is the problem ? the problem that it lists the tabs in the following order 1.2.3.4.5.6.7.8.9.10 and not in recently used order.

10
9
8

p.s. Again your extension is the best - but still some issues like this bug persists - please, fix it once your get time for it.

Using with Multiple Frames

I have a website that uses frames. SurfKeys only seems to work within the active frame. Is there a way to have it work across all frames/iframes loaded in the current window?

Add a shortcut that shows the pressed keys after it

Hi @brookhong,

I am having similar problems as #16, using a NEO keyboard layout and many shortcuts don't work because in this layout e.g. CAPS+i is used for generating a /.
I could easily work around that and create custom keyboard bindings if I knew as which key sequence my key presses are registered in Chrome.

Would it be possible to add a shortcut with any ordinary number or letter key (that should hopefully work on all layouts) that calls a function which waits for another key-press and displays what that key-press was?

Thanks a lot!
Martin

在刚打开的页面里点击文本栏(比如搜索栏)第1次没有光标

如题,在刚打开的页面里点击文本栏(比如搜索栏)第1次没有光标,需要点第2次才会出现光标,之后如果不刷新页面的话就不会有这个问题了。不知道各位是不是也有这个问题?

PS:用了几年chrome终于找到的我想要的“选中→按键→搜索”功能了,这个功能太爽了。

Add a method for mapping "F" to open link in new tab via hint.

I'm not sure if this is already possible. If it is, an example in the documentation would be helpful. I am unsure how to use Hints.create() and get back the URL so that I can do something like window.open() or similar.

Ultimately I want to have the binding like in cVim where "F" shows hints and opens the selected hint in a new tab.

window, session -> save as vim-like marks, or even better: as named.

are you planning to implement saving of session/window to be able to open it later from menu, like you have for vim-like marks (with os and ow)? the only question is how to name them.. for example you may name them from clipboard. or may be straight up give them name while saving.

session is not much needed, but window is needed for sure.

i was goind to add another request here, but i'll create new issue

Bug: settings don't save

I've tried multiple ways of saving settings: Local, Global, and gist. All have a problem where Surfinkeys seems to periodically clear the settings and restore them to default. Yesterday, I used a Gist with Global Sync turned on. Today I opened chrome and found the settings reset to default.

Sync settings

I have multiple machines, and manage settings over them is tedious.

Even someone doesn't have multiple machines. But they may have different profiles for chrome.

So sync settings is an useful feature.

One possible way is using chrome.storage.sync /https://developer.chrome.com/extensions/storage#property-sync

It has 102,400 bytes QUOTA_BYTES = 100 KB quota. I think it's reasonable size for this extension.

Even if it's not large enough. We can still build a sync service based on it and third party service like: http://myjson.com/

ZQ Quit Bug - doesn't support multiple Chrome Windows

Hi - here is another bug
ZQ Quit Bug - doesn't support multiple Chrome Windows

Steps to reproduce:

  1. Open e.g. 2 Chrome windows with tabs
  2. Press ZQ Quit - to Exit Chrome browser
    2.1 Browser is closed now no windows on you screen (work as designed)
  3. Now start your Chrome
  4. Bug - it would restore only 1 Chrome Window while second vanishes ....

Thank you!

SurfingKeys doesn't work for files opened locally

I have HTML files that I edit locally and then want to load in my browser to view.

Unfortunately, SurfingKeys does not seem to be active for these pages. Is it possible to enable it for these or is this a limitation of Chrome extensions?

If not, I suppose the workaround is to just run a local webserver and load from http://localhost/.

Can't disable surfing keys for certain websites

sometimes surfingkeys causes me not to be able to fill in an input field. I want to disable surfingkeys for that url, but I can't find the option.

Another reason to disable is that it might conflict with websites like github / gmail which already have conflicting hotkeys.

Disable SurfingKeys on this domain - is not working

Disable SurfingKeys on this domain - it is not working.
Steps to reproduce:

  1. Open https://mail.google.com/ or https://www.linkedin.com
  2. Press "Disable SurfingKeys on this domain " option in SurfingKeys menu item.
  3. Reload Gmail tab
  4. Press e..g r or gi google shortcut keys - it Gmail it should trigger Gmails native keyboard shortcuts - it is not working at Linkedin either.

Note: despite the fact that menu text changes to Enable Extension on this domain - it is still not working and SurfingKeys keys are passed to that domain / site.

Please, fiix - thank you!

customize letter set for "Hints.pointers"

Everyone has his own preference on typing, and the time to press different keys varies.
In order to achieve max speed, the hints pointer letter should be editable for the users.

in vimium, I set "jkladfpoet..." as default.

Not detecting scrollable elements

I cannot scroll on a page using the provided default shortcuts until after I manually scroll using either the mouse or the scrollbar.

Surfingkeys not recognizing keyboard layout

I have a qwertz keyboard with special characters like ö,ü,ä. Some symbols are not recognized correctly, e.g. if I want to press ' I actually have to press ä on my keyboard.

On the other hand y and z are recognized.

I hope I could make the problem clear.

Surfingkeys does not work with my "AZERTY" keyboad layout

Hi !

I am using an "AZERTY" (french) keyboard layout and the mappings do not work the way they should.

e.g. The "/" on an "AZERTY" keyboard is SHIFT+":"
The search bar does not appear when I press SHIFT + ":" but it appears when I press ":"

Thanks for your work !

Paul

Lost configuration

I believe when the extension update, my configuration lost. Both local and sync.

某些网站连接无法识别

按F/f键时,网站上的连接是可点击的, 但是无法识别为一个可点击对象. 比如http://www.vidown.cn/ 网站, 还有知乎网站的展开阅读也无法识别. 页面中的连接是Javascripte事件后相应的的无法触发.

swich scroll, inoreader.com issue

I am trying to use cs on inoreader.com. It does not work usually. After opening chrome and the inoreader site for the first time, the Surfingkeys scrolling box, when I use cs, does not show up. To get around this, I must already be in "List View" and then click on the tag/folder I want to view. Then I have to press space and finally I can press cs and scroll using keys. This happened after a recent Surfingkeys update

is there a chance arrow keys will be added to visual mode and menus? (+couple more suggestions)

after i left comment on chrome webstore, i saw you said it is better to add issues, so i decided to duplicate as issue here. i've created enough issues already, so all left suggestions here:

  • is there (or will be) way to bind caret movement keys also to arrow keys and pgup,pgdn,home,end in visual mode?
  • and also in menus (which are navigated with tab/shift+tab now)
  • another one: bind 'V' to go back from range mode to caret mode?
  • also, i've seen you mention big caret for visibility. i may suggest you to "borrow" mechanics from here:
    https://chrome.google.com/webstore/detail/caret-browsing/fklpgenihifpccgiifchnihilipmbffg
    (first option (black rectangle) is better imho, btw)
  • introduce "learning mode"! for noobs as i am. when user presses key, it is not only a key displayed in lower right conner, but all possible key combinations with descriptions:
    let's assume he presses o and in lower right he sees (alignet by right side):
_ o
Open URL from history ~h
Open URL from vim-like marks ~m
Open Search with alias b ~b

and so on. in some cases the tooltip will be large, but that's ok, as it is just for the learning time,
there may be another option, to show later only custom definitions like for searches with alias for example

Can't disable Surfing Keys for specific domains or on demand for specific sites

First of all, loving SurfingKeys!

I'm running 0.3.8, the latest, with Chromium 49.0.2623.75 (64-bit) on Linux and also Google Chrome 49.0.2623.87 on OS X.

The documentation states that I should be able to disable SurfingKeys on demand for a specific page but hitting 'alt-s'. This does not seem to work. I even tried rebinding this by setting Events.hotKey in my settings but nothing seems to take effect.

I see on #32 there used to be a functionality to disable SurfingKeys for a specific domain entirely. For sites like Gmail this would be ideal. This is one feature from cVim that was very useful.

Similarly, in cVim, I could hit "i" to go to insert mode and it would send the keys through to the website. This was useful say in Twitter so I could use the Twitter bindings for a time, but then could go back out.

chrome 控制台报错

[unexpected runtime message] {"action":"showStatus","content":"","position":2,"toFrontend":true,"id":"314b7bny7gb97afyqgqc8ggmn","error":"TypeError: Cannot read property 'postMessage' of undefined"}
runtime.js:29

激活插件,点击页面空白处,就会报这个错。不影响使用,但是还是想反馈下。

PS:插件越来越好用了。大爱(´▽`

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.