-
-
Notifications
You must be signed in to change notification settings - Fork 286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pressing " to filter selected rows does not work. Instead I get the error. No command for CTL_PADENTER #2119
Comments
What platform, what locale, what keyboard are you using? This is an issue with your environment and probably not something we can fix. |
What platform? Windows11 1033 en-US English (United States) Please help how I can fix this, I love visidata but without this functionality it will not be of much use to me. |
This is the list of all my environment variables on windows. Please see if this can help. ALLUSERSPROFILE=C:\ProgramData |
I have no idea what's going wrong with your setup, @kalyan860. I've never seen the |
I googled CTL_PADENTER and nothing comes up. I use a PC at work and same error is occuring there. I am in India. Is it probably because of some Indian locale keyboard setting? PS C:\Users\kalya\junk> Get-WinSystemLocale LCID Name DisplayName 1033 en-US English (United States) |
I'm having the same issue when working from the development version pulled from github. My result from Attempting to inspect my locale in Python (with the venv activated), I see: >>> locale.getlocale()
('English_Canada', '1252') While I am in Canada, I am using a US keyboard that is configured as such - I can't type accented French characters with my configuration. Windows-1252 is the most common encoding. The "English_Canada" just means my numbers and dates get formatted a little different. My >>> rawr = input()
"
>>> ord(rawr)
34 That's the decimal ASCII coordinate for I think this project uses >>> import curses
>>> stdscr = curses.initscr()
>>> stdscr.getch()
(nothing)
>>> stdscr.get_wch()
(nothing)
>>> stdscr.getkey()
(nothing) It doesn't register me pressing Windows Terminal does not appear to have any settings that might affect this. Using the default Windows Terminal Host (cmd.exe) does not change the behaviour. Changing my Windows-level keyboard settings to English (United States) - US rather than English (Canada) - US has no effect. When I modify my curses setup as recommended: >>> curses.noecho()
>>> stdscr.keypad(True)
>>> stdscr.getch()
460
>>> stdscr.get_wch()
460
>>> curses.keyname(460)
b'CTL_PADENTER' It tells me that my The Checking the locale that curses is using: >>> stdscr.encoding
'cp437' Attempting to force >>> import locale
>>> locale.setlocale(locale.LC_ALL, 'en_US')
'en_US'
>>> import curses
>>> stdscr = curses.initscr()
>>> stdscr.encoding
'cp437' Upgrading to Python 3.11.6 so I have >>> import locale
>>> locale.getencoding()
'cp1252' |
Okay, great. We did have a few curses changes recently, so if it was working with an older version and not on develop, then this should be straightforward to figure out. @isosphere do you know how to use Maybe it's related to #192 (3e7b3f3) though I can't see how. |
A previous edit of my post indicated that I didn't have issues with a prior version, but I was mistaken. I have a separate, likely unrelated issue with CTRL+H in the development version versus the pipx version1. Given my above results, it looks like curses is reporting that my I should have stated that my This user suspects it's a regression between versions 2.3.0 and 2.3.1 of SolutionI can confirm that the solution is to downgrade
This requires that you use a Python version that is 3.10 or lower, as wheels are not available for newer versions. Hopefully the regression gets fixed soon. Footnotes
|
@isosphere How did you install VisiData? This should have been fixed with cb6c36f in response to #1901. |
In a virtualenv, For my pipx installation (2.11.1), I used |
However, I get this error when trying to downgrade windows curses. |
@kalyan860 if 2.3.2 is out, try upgrading to that instead. Otherwise I don't know :/ |
I am copying my comment from a Discussion related to this bug, so it'll show up as mentions in the multiple visidata Issues relating to this problem. That way people can check on the updated status of this bug as of mid-2024. I do not expect -- Okay, I now see that this bug has been discussed before in #2267, #2119, #2062 and #1841. The last update to those threads was that I can report that 2.3.2 does not fix it, nor does v2.3.3. I tested them on Python 3.12.4, where the versions of I can report that downgrading But the solution I recommend is to run visidata inside Windows Subsystem for Linux. -- Edited to update on 2024-08-06: there is another way to run visidata on Windows: -- Edited to update on 2024-09-27: |
This will be fixed in the next release of VisiData! Until then, you can |
Small description
Pressing " to filter selected rows does not work. Instead I get the error. No command for CTL_PADENTER
Expected result
Opening of selected cells as a filter in a duplicate sheet.
Actual result with screenshot
Steps to reproduce with sample data and a .vd
Select a few rows in a sheet with s key and then press " to filter them.
Please attach the commandlog (saved with
Ctrl-D
) to show the steps that led to the issue.#!vd -p
{"longname": "open-file", "input": "test2.xlsx", "keystrokes": "o"}
{"sheet": "test2", "col": "", "row": "\u30adtest2", "longname": "open-row", "input": "", "keystrokes": "Enter", "comment": "open current row with sheet-specific dive"}
{"sheet": "test2_test2", "col": "", "row": "1", "longname": "select-row", "input": "", "keystrokes": "s", "comment": "select current row"}
{"sheet": "test2_test2", "col": "", "row": "3", "longname": "select-row", "input": "", "keystrokes": "s", "comment": "select current row"}
Additional context
Please include the version of VisiData and Python.
Python 3.11.1
saul.pw/VisiData v2.11.1
The text was updated successfully, but these errors were encountered: