I added SpeedMasters suggestions on moving the grid before clicking. Opposed to having to think, "right is Z, which is on the left of my keyboard, but, I don't want full right because of the close/minimize buttons, so I need U or something and then A for the top of the window which is in the middle left of the keyboard. But activating a window in the top right of the screen would suffice with 90. If you hit 0 for example, it clicks the center of the selected grid, regardless of depth you are at. As soon as you press the first digit, the non-relevant level 2 grids are hidden, but a third layer grid shows in each of the relevant level 2 grids in color Z, etc. Display a level 1 9*9 grid in color X, within each of those a level 2 9*9 grid in color Y. Sure its an additional button press, but the benefit of spatial similarity of the numpad layout probably makes up for in speed. This would mean that you could choose from AA1 through ZZ9, giving 6084 (=26*26*9) clickable pointsWhy not ditch the letters all together? Two letters gives about the same precision as three digits: 26^2=676 vs 9^3=729, with added benefit you can limit/add layers as needed. I could easily make the grid much more useful by instead just introducing a 3*3 numeric grid YCoordToUse := ConvertInputCoord(YcoordInput, "Y")ĬoordToUse := numberOfRows - (coordAsc - AscA)ĪHKCoordGrid example screenshot.png (254.99 KiB) Viewed 7931 times XCoordToUse := ConvertInputCoord(XcoordInput, "X") Global VerticalScale, numberOfRows, numberOfCols, GridHeight, GridWidth, rowSpacing, colSpacing Gui, Show, W%GridWidth% H%GridHeight%, CoordGrid Gui, add, edit, x%colXCoord% y%rowYCoord%, %colXCoordAlpha%%rowYCoordAlpha% gui, add, edit, x%colXCoord% y%rowYCoord% ReadOnly cRed, %colXCoordAlpha%%rowYCoordAlpha% StringUpper, colXCoordAlpha, colXCoordAlpha StringUpper, rowYCoordAlpha, rowYCoordAlpha RowYCoord := (numberOfRows - 1 - rowCounter) * rowSpacing Global VerticalScale, numberOfRows, numberOfCols, GridHeight, GridWidth, rowSpacing, colSpacing, KeyArray GridHeight := VerticalScale * A_ScreenHeightĬolSpacing := 1.025 * GridWidth / numberOfCols I've attached a screenshot showing the grid overlaying a Notepad++ window, part of a Chrome window, and part of my desktop. I might need to tweak the small values added and subtracted from the coordinates to ensure that the click is sent as close to the centre of each button as possible, and also the colSpacing constant. As most clicking activity tends to happen round the edges of the screen and not in the middle, I might look at reducing the row / column spacing round the edges only I might add coordinates 0-9 for screens with more pixels I chose 'Edit' controls as buttons as their white background made them easy to read. There's a trade-off between minimizing the size of the buttons so as not to obscure what's behind them, and keeping them big enough to read. There are a few things I'd like to improve: You could even look at it as an accessibility tool. on any given screen, most buttons will probably not be usefulīut as somebody who likes to avoid using the mouse, I already find it useful - I hope others will too. you won't always be able to click on everything you need to Includes code around timing of key presses which 'scriptor' (thanks!) posted here: Inspired by the cVim chrome plugin, which provides shortcut keys to most links / buttons on web pages. Pressing NumKeyEnter thereafter toggles the grid (it displays much faster after the first time, as it has already been built) You can then emulate a mouse-click (or a touchscreen 'touch') at any of those 676 locations by entering the coordinates, as displayed on each button, as keyboard shortcuts. When you press NumKeyEnter, this script builds then displays a 26*26 grid of buttons (actually AHK edit controls), labelled AA-ZZ, overlaying the whole screen. (I finally got round to a solution for the question I posted last year at. AHKCoordGrid - overlay grid of buttons to provide (some level of) mouseless screen navigation
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |