Timeline
Feb 3, 2024:
- 5:16 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- Forgot to declare $aCall […]
- 5:09 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- I should have waited but ..., anyway, this is better. […]
- 4:50 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- […]
- 4:46 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- ..the above code is wrong, can't just remove the Do Until loop. I'll fix it in a moment
- 4:36 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- >The default as true is really to have a return on the the key only without the modifier pressed Well, the array is the first claim. Say I make an array ( $aArray[2] = [0x12,0x58] ; alt - x ) that by default will not work as expected due to defaulting to exclude the alt key, otherwise the code would have to exclude the modifier key declared on the array. That complicates the code. It'd be easier to just default to false, to keep it as is. Most people using this func are expecting a function key or a combination of modifier and letter, not just a letter. The part that only returns after keys released, to make it on keypress, either, call the func again with "NOT func()" as it was done before the change, or have an extra parameter to call a func. for the in between state. So removing the wait on release and defaulting $bCheckModifierKey to false would make the new beta functional. Also, […] would make more sense if the staic declaration is to be kept. These changes will obviously change the expected functionality of whomever proposed the change but at least it would make the code widely functional other than just a for OP only. Therefore, the "fixed" code ( with minimal modification, to just make it functional ) I propose would be: […]
- 1:23 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- I don't remember when the extension was introduced I agree that they are more to handle clicked keys The default as true is really to have a return on the the key only without the modifier pressed I need to think if the function must work on pressed only just propose modification so that addition can work
Feb 2, 2024:
- 11:31 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- Side note about the VK_* new addition in beta: 1) A user expects action right after pressing the keys, not after releasing them. 2) The $bCheckModifierKey should in my view, default to false. Then again I have no idea why the new feature is incorporated nor the way it is. Nonetheless I wanted to bring it up. ( unless is outside the scope of this post and is to be discussed elsewhere and/or by MVPs )
- 9:43 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- I get an infinite loop with 0xB3 from the bluetooth at: […] ..given that in this case of the bluetooth input device (or driver), signals the LSB ( 0x8001 ) and gets stuck in 0x8000, never to get back to 0x0000 as it should. Is the whole reason for the need to know the LSB. Then again, fortunately, is not something that happens on a keyboard. As I see it ( and tested ), the beta code is good.
- 6:13 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- Hi, in which case do you get an infinite loop?
- 5:29 PM Ticket #3969 (Map Initializer List) updated by
- I use maps very often and I would like to see a map initializer but I don't know if it's possible without introducing a new operator, a keyword or something. It will be a total confusion. Take this as example: […] Right now this is a valid syntax to initialize an array with one element but it could be as well a map with the key name 1 (according to proposed syntax).
- 3:02 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- Now that I've looked at it I understand. Looks good. Thanks. In my, quite unexpected case, using the VK_* would have gotten me in a (infinite loop) frozen script.
- 7:45 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- […]
- 12:07 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- would you paste here or send a PM/DM to me about this new beta code to take a look at ? ..looking at the beta code would give me a better understanding of what is that you are evaluating. A matching array of VK_ would ... hmmm, could return the "LSB += LSB" to satisfy my request.
Feb 1, 2024:
- 11:11 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- As I understand the return True with only the Most significant bit set is not enought for you (current implementation) you want to be sure it is the first time so you don't want to check it is released as MSDN suggest (return false) and do some action in the next beta version default is the same but now if you pass not a string a a VK_* value the return will wait the touch is release if you pass an array of $VK_* you will get a return if one of them has been clicked
- 8:44 AM Ticket #3946 (_ChooseFont() updated defaults) updated by
- #include <Misc.au3> _ChooseFont ( [$sFontName = "Courier New" [, $iPointSize = 10 [, $iFontColorRef = Default [, $iFontWeight = 0 [, $bItalic = False [, $bUnderline = False [, $bStrikethru = False [, $hWndOwner = 0]]]]]]]] ) $iFontColorRef [optional] COLORREF rgbColors (Default is COLOR_BTNTEXT) ---- The above are the suggested changes ( in bold ) needed in the help file.
- 3:35 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- >For other device the @extended is always set With the new code, @extended is only triggered the 1st time as true(1) / BitAND($aCall[0], 0x1) 2nd time and on it returns false(0)
- 3:29 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- […] The "keyboard" gets stuck in 0x8000. But do trigger the 0x8001 when pressed. Same with prior and next keys. Volume up/down are not "seen" ( captured by the OS ). My fight with the headset is at https://www.autoitscript.com/forum/topic/211304-getasynckeystate-_ispressed-vs-the-bluetooth-headset-now-fight/. I scratched my head for a while until I realized what was going on. And is a hard sell as far as getting enough people to accept this change given that is against MSDN recommendation ( 20 y/o ) and quite a niche occurrence. Yet, is the only thing that worked.
Jan 31, 2024:
- 4:35 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- Hi, I am still confused on how you use @extended with a BlueTooth headset Can you post an example of how you you it? For other device the @extended is always set Thanks for the help
Jan 29, 2024:
- 6:24 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- ..pardon. The description was correct, the code was wrong. (corrected above)
- 5:59 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- ok, I've got my head back. This would be the proper code: […] The @extended has the LSB. What is meant is that when the key is first pressed, the LSB is ON. On subsequent calls, the LSB is zero and the claim is to not trust the LSB (BitAND($aCall[0], 0x1)) due to the nature of multitasking, hence the BitAND($aCall[0], 0x8000) return. So the original description is in fact correct. But is not clear to a non-english native speaker like myself, therefore a better description would be: @extended returns the LSB of the keypress. (See MSDN remarks) that way, if the reader wants to know what it really is, can read up on the subject.
Jan 28, 2024:
- 7:18 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- ...the above don't sit well with me. Is not so. I'll see it on Tuesday, I'll have a less foggy brain, then I'll have a look at it and discern it.
- 7:14 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- ..I'm did a copy and paste and my math skill ..are missing from my brain =/ Then better use this less specific explanation: Return Value @extended returns whether the key is still pressed since the last call. (See MSDN remarks)
- 8:19 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- Are you sure of 0xFFFF8000? Th least significant bit is 0xFFFF8001 right?
Jan 26, 2024:
- 5:43 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- Return Value @extended is set by least significant bit. The value specifies whether the key was pressed since the last call. (See MSDN remarks) See Also Search "https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getasynckeystate#remarks" in MSDN Library. Hopefully the above is sufficiently explicit.
- 4:14 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- Thank you what do you propose for doc change for @extended?
- 10:51 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- As far as I've tested with various hardware, it works as expected. I don't foresee any problems. I know that it would generally be handled by: […] But the proposed @extended return, adds that extra GetAsyncKeyState info. that in these particular cases, just saves the day. By the way, in my testing, this solution is even better than using _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL,…
- 9:49 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- Hi, thanks for those highlights Can you confirm that with the change you suggest no other equipment non BlueTooths will not have regression? it seems your post suggest it, I just want to be sure Thanks for the clarification Cheers
- 3:15 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- ... And the explanation of MSDN gives out is true, but also is true that PCs are way faster than when the warning was presented some 20 years ago when 32 bit was the future and 16 bit was nothing but gone. Actually, one can not run 16 bit code in windows nowadays, it is gone. But the base code is thankfully, backwards compatible.
- 3:06 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- No one can tell what M$ is ever gonna do, but is by this feature that the code can tell that the key ( 0xB3 ) and those like it in multimedia ( 0xB0, 0xB1 ) are actively pressed via Bluetooth or not. If it's been there since Win95, I'll bet there's a lot of code depending on it and unlikely to change. In bluethooth keys, a long press is not the same as a single click/press or a double one. Some even have triple press/click, all with different functionality, faking/masquerading having independent keys, and I believe is a driver thing, but is the M$ driver. There is no alternate driver. --continue in next post--
- 12:09 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- Are you sure that with this modification working for you we will not get regression as MSDn state […]
Jan 25, 2024:
- 7:27 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- BitAND($aCall[0], 0x8000) <> 0 vs $aCall[0] = 0xFFFF8000 On action(click/keypress) is 0xFFFF8001 or 0x00000000 The code returns if "BitAND($aCall[0], 0x8000) <> 0" am adding if "$aCall[0] = 0xFFFF8000" Unfortunately the only way to see somewhat what the effects are is to keep a key pressed until autorepeat kicks in on a keyboard to somewhat get the gist of it.
- 7:27 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- I still don't understand […] if $aCall[0] = 0xFFFF8000 is true then BitAND($aCall[0], 0x8000) is also true so @extended is not needed as I say i don't have and headset so I cannot reproduce thanks to confirm
- 3:27 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- ( adding this just to get an email upon update )
- 3:12 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- In my case the @extended is needed. @extended is not always true. Is only true after some MSec. The first query returns false unless it was triggered again. If you test it, you'll see that it does.
Jan 22, 2024:
- 9:50 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- Hi, Sorry unless I get an correction to my post above I will close it
Jan 18, 2024:
- 8:53 AM Ticket #3991 (_SQLite_ForeignKeys) closed by
- Completed: Added by revision [13030] in version: 3.3.17.0
- 12:11 AM Ticket #3989 (SplashOff() not being parsed correctly by SyntaxCheck Prod and Tidy) closed by
- Wont Fix
- 12:10 AM Ticket #3982 (_ClipPutFile should not free memory) closed by
- Works For Me: Sorry I will close and except another Ticket with a script repro
Jan 17, 2024:
- 6:49 PM Ticket #3982 (_ClipPutFile should not free memory) updated by
- There is not a systematic error when freeing the memory. It is a recommandation of MSDN. I think it should be enough.
- 5:11 PM Ticket #3991 (_SQLite_ForeignKeys) updated by
- In the documentation it should be also included this for clarity. It is not possible to enable or disable foreign key constraints in the middle of a multi-statement transaction (when SQLite is not in autocommit mode). Attempting to do so does not return an error; it simply has no effect. It should also be specified that SQLite does not make any checks on previously inserted data. So enabling foreign keys does not trigger any warnings or errors for data that has been previously inserted in the database that would normally raise a foreign keys constraint error. This can be seen in this example: […]
- 4:34 PM Ticket #3991 (_SQLite_ForeignKeys) updated by
-
Owner, Status changed
Thanks I will commit the needed file with the doc - 3:21 PM Ticket #3991 (_SQLite_ForeignKeys) created by
- Foreign keys are supported by default by pretty much all important …
- 9:21 AM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
- Hi, I cannot test it but the code look strange If the @extended is set and the return is always true So why to set @extended is this case?
Jan 16, 2024:
- 10:24 PM Ticket #3982 (_ClipPutFile should not free memory) updated by
- Just produce a script that will provide the error with the current implementation. for me the Clipget does not produce any error even if the the GlobalFree is executed before the CloseClipboard
- 5:04 PM Ticket #3982 (_ClipPutFile should not free memory) updated by
- I don't know what can happen if you release the object owned by the system or specific cases that will cause an error but can we assume that Microsoft knows what they are talking about when they say that the object it's managed by the system? It might work in 99% of cases without any errors and produce an error in some niche cases. I think we should follow MSDN guidance and fix possible errors that might appear in some cases. It's just best practice.
- 4:16 PM Ticket #3989 (SplashOff() not being parsed correctly by SyntaxCheck Prod and Tidy) updated by
- In fact the SolashOff without parenthesis is legal when assign to a variable. Local $v = SplashOff That the reason why Au3check and certainly Tidy don't flag the Function I don't think we can change that except in documentation More Autoit builtin functions have the same behavior ProgressOff
Jan 15, 2024:
- 5:00 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) updated by
-
Version changed
Automatic ticket cleanup. - 4:59 PM Ticket #3990 (_IsPressed() add "indicate whether the key has been pressed since the ...) created by
- […] The change adds some extra information that I found was needed …
- 9:06 AM Ticket #3989 (SplashOff() not being parsed correctly by SyntaxCheck Prod and Tidy) updated by
-
Component changed
Jan 14, 2024:
- 10:11 PM Ticket #3989 (SplashOff() not being parsed correctly by SyntaxCheck Prod and Tidy) created by
- I have noticed that both the Syntax Checker and Tidy programs used in …
Jan 9, 2024:
- 5:37 PM Ticket #3985 (_ArrayDisplay() + $WS_EX_TOPMOST) closed by
- Completed: Added by revision [13029] in version: 3.3.17.0
- 5:16 PM Ticket #3988 (_WinAPI_GetSystemPowerStatus does not provide full stats on Win 10) closed by
- Completed: Added by revision [13028] in version: 3.3.17.0
Jan 8, 2024:
- 3:20 PM Ticket #3988 (_WinAPI_GetSystemPowerStatus does not provide full stats on Win 10) created by
- Starting from Win10, the forth byte of the structure returned by …
- 8:27 AM Ticket #3987 (Aut2Exe creates a temp folder without deleting it) updated by
- Hi, Using the standard autoit installation and even scite compilation does not reproduce your concern so can you describe the environment you are running with?
Jan 7, 2024:
Jan 5, 2024:
- 10:48 AM Ticket #3982 (_ClipPutFile should not free memory) updated by
- I understand what you write again just post a repro script to show where the error can occur in what I post I don't see any error the _clipget get the right info
- 3:06 AM Ticket #3982 (_ClipPutFile should not free memory) updated by
-
Description changed
- 3:06 AM Ticket #3986 (Au3Check allows chars after ContinueCase but runtime triggers error) updated by
-
Description changed
- 3:04 AM Ticket #3986 (Au3Check allows chars after ContinueCase but runtime triggers error) updated by
- Could you please upload fixed version to: https://www.autoitscript.com/autoit3/scite/download/beta_SciTE4AutoIt3 ?
Jan 4, 2024:
- 9:04 PM Ticket #3982 (_ClipPutFile should not free memory) updated by
- The function _ClipPutFile() uses SetClipboardData. MSDN state that if SetClipboardData succeeds, the system owns the object identified by the hMem parameter. The application may not write to or free the data once ownership has been transferred to the system, but it can lock and read from the data until the CloseClipboard function is called.
- 4:52 PM Ticket #3982 (_ClipPutFile should not free memory) updated by
-
Owner, Status changed
Hi, I don't see any reason to change the UDF The following script work fine […]
Note:
See TracTimeline
for information about the timeline view.
