Page 1 of 1

Keyboard issue: #PB_Key_Capital

Posted: Sat Dec 31, 2022 1:31 pm
by Psychophanta
There is a undesired behaviour with the capital lock key, because when it is pushed and holded , it remains as it was already pushed in the PB Keyboard library.
This does not happen with the Scroll lock key , neither with the NumLock one.
This tip is simple enough to test it:

Code: Select all

InitSprite():InitKeyboard():OpenScreen(1920,1080,32,"")
Repeat
  ExamineKeyboard():ClearScreen(0)
  If StartDrawing(ScreenOutput())
    DrawText(0, 0, "Press ESC to quit")
    DrawText(20,40,Str(KeyboardPushed(#PB_Key_ALL)))
    StopDrawing()
  EndIf
  FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)

Re: Keyboard issue: #PB_Key_Capital

Posted: Sat Dec 31, 2022 5:16 pm
by tft
for me it works as it should. Checked all buttons.

Re: Keyboard issue: #PB_Key_Capital

Posted: Sat Dec 31, 2022 9:33 pm
by nsstudios
Oh yes. I remember running into the same issue.
It seemingly reports when the CapsLock is toggled, not up/down, at least on Windows. And KeyboardReleased doesn't seem to do anything as well.
Here's another test, which also features two winapi workarounds. Not sure how one would go around "fixing" it cross-platform, though.
change the #mode between #mode_pb, #mode_winapiAsyncKey, and #mode_winapiEventwParam to test different modes.
The EventwParam function is technically deprecated, but you could probably recode it to use WindowCallback instead.
Since I find it easier to test things with sounds, the lower pitched/longer (s_22/#sUp) sound plays when the capslock is not held down, and the higher pitched/shorter (s_21/#sDown) plays when the capslock is held down.

Code: Select all

InitSprite(): InitKeyboard(): InitSound()
EnableExplicit
DataSection
s_21: :Data.q $54646464952,$20746D6645564157,$1000100000010,$158880000AC44,$5453494C00100002,$4F464E490000001A,$E54465349,$332E39356676614C,$6164003230312E34,$FF20000005006174,$F733FD2A037F02F8,$FCF403C602CBFA85,$F9061A0170FAAD,$3570496FE3BFB05,$3C0352FECEFDF7,$719FDDFF46CF6AD,$FEEBFDF8008B0663,$FF0200660077FFEE,$2F008A80473FF4B,$AF304BCF868F849,$6B9FBABF6AB0123,$FFECF6C9F98B050A,$44FD55015C05B7,$FB07F767FC6801FD,$17801E603F70218,$FC32FAA9FE55018B,$FEB8043805B701F5,$663FB35F559F824,$F877F6F901E50AA7,$FB0E033A09C50404,$D03A501F4FBE0,$5E604600071FDE7,$F843FA07FF82041C,$50D0B570748FDD7,$30CFBEDF661FA74,$FE03F997FCAD02DC,$FC15FF5104480419,$1EA02B5015FFDDF,$FE2AFE42FF6500AA,$FEB2FEB1FF69FF13,$FA64FED001420057,$200FF61FACCF856,$F9CCFA33FD4D00DA,$FFB100EBFF9DFC4D,$5DC05AD0175FEDF,$11DFA57F99FFFE6,$FA47FCD402C80594,$AC0127FF5CFC37,$351FDE8FBB2FDF6,$FD7AF884FDE6045A,$FA8102870AB40803,$19D02150009FB19,$F98EFC9A00B701BA,$FE84015300C3FC11,$FBD8FFB8000FFDF9,$3D900D3FC23F98D,$FC4FFFFB036A049F,$282037A003FFC4A,$FE45FE68FE1EFF7D,$FE33FE02FD87FD91,$FBAFFE44FEFFFE76,$48902FCFD8DFA5D,$18FB9EFB5B0040,$FD54FD3500C702DA,$FD1602A404C20189,$26901ACFD0FFA40,$FD07FA87FAC7FEA0,$FC4FFD8EFF12FF1D,$FEF7FFC4FE84FCB5,$4E802C0FEEAFDA6,$FEC7FB1AFCE10217,$FCC7013B04D803C8,$1260040FD6BFB5F,$FF3DFE48FE57FFDC,$FCACFD16FE7CFF89,$4C007CFF3BFD98,$FF7BFD3BFCDFFE90,$FAB6FC22FF5600E7,$FC68FE6BFE83FC52,$49FFB4FD24FB72,$FF3AFD24FCBAFE7F,$FCAEFDCFFFD8009D,$130101FFD2FDAA,$C1FEF8FD8DFE2D,$FE5AFD58FED900BE,$FE5502190369015B,$177FFD8FCB3FBB5,$FEB7FD84FDDC0013,$FC6CFBBBFD47FEF2,$FCA0FEB4FFD3FEA7,$8FFE7BFC6FFB9F,$FDB2FDB1FFCB013B,$FF4E021202EB0074,$42B04E701F7FEE0,$233FFF0FEF000E6,$FE4A008202B0036A,$4300E5FF52FDC7,$B7FEA3FD10FE08,$FD09FCBBFE9A00B3,$FEB601A901BDFF63,$254FFD5FC23FBAF,$FF12FC1EFCCD007C,$FE3CFEAC00DB0199,$FF8600BB0109FFC2,$309017FFF88FECF,$24FE6CFFBE0247,$FFCC0172036502E3,$25C02FB0205004F,$116FEDAFED90091,$FAEBFE690283035D,$12F0258FF92FBA1,$ECFDEBFC20FDCC,$FC6BFC03FED2017D,$FE93011601E9FF96,$17E0098FE88FD5E,$FECFFDB4FE8E0078,$FCF4FE6C00600074,$FEFA002AFF99FDBC,$8FFF55FDEDFDBA,$FDB1FD81FEEE006B,$FE5DFF580024FF3D,$FF85012200D0FF19,$1A50019FE62FE04,$FF55006D01BF023C,$13D029201A4FFD3,$2AF0139FF35FF3D,$FF1BFDCCFF1A01A2,$FE5D014702EB01B9,$1F001A0FF13FD3E,$FF1CFDC5FDCDFFD4,$FE30FEC0FFB30005,$FEB1FF97FF4EFE7F,$14FE55FCFDFD4F,$FE16FDC7FF23006F,$A019501BA0004,$1050120FFE5FF1F,$121FFB8FEE9FFAF,$FF0BFF7700B10191,$FFDC012100EEFFC8,$130FFCCFE42FE50,$1BFF940007010F,$FEF4000400D100CC,$22501D1FFF2FEB0,$FFD8FDFDFDF00029,$FE05FDB6FF5500B1,$FF5D007600EDFFCC,$10C00ACFF9BFEF5,$FEE0FDA1FE54000B,$FEF700A501BA00EC,$17FFF9FEF5FE4A,$FFE0FE5FFE0AFF12,$FE41FE59FFD900C0,$FFD400DE0104FFBB,$10EFFF2FF29FF18,$FF2CFF6000CD019A,$10018C021000B0,$FFFD015000E3FFCC,$FFF34FE26FE58,$FF83FFB8FFDD001C,$31FFD5FF5BFF44,$52FFF3FFD80016,$FFD1FFAC0012006F,$FFA0007F00E20076,$8B0080FFBEFF3A,$6AFFC6FF69FFDE,$FF8FFF3CFFBA0069,$FFBF003900920047,$2E0010FFD4FFA0,$FFEDFFE9000C002B,$50036001D: s_21_e:
s_22: :Data.q $1A5446464952,$20746D6645564157,$1000100000010,$158880000AC44,$5453494C00100002,$4F464E490000001A,$E54465349,$332E39356676614C,$6164003230312E34,$FFF400001A0E6174,$490022FFF4FFE2,$600130032004D,$65003800300017,$110012008000AD,$16FFFF0024003D,$FFEF0007002A003C,$22FFFBFFC1FFC3,$1FFFFD000E0026,$5FFD500050034,$FF9EFFF6006E006E,$FFCAFFBDFFC6FFA6,$FF45000600650027,$1FFFE9FF5AFEEF,$FFD1FFFB00240029,$F002A0032FFF3,$470051003C0020,$1FFFECFFD9000D,$1EFFECFFD8000D,$360044002C0025,$FFF8003F00400024,$D600F80087FFF8,$FFFCFFFF002C0078,$FFE6FFD1FFE7FFFE,$9B00A10078002E,$6E008E007D007A,$FF98FFD000220049,$710036FFD4FF9F,$FFCDFFBCFFF5004D,$4B0012FFDAFFDC,$4FFB6FFCC002A,$70004F00130020,$FF29FF18FF3EFFEC,$14C00F40028FF60,$FF4F000100EA0158,$FFEC0039003CFF91,$FFDE006B00A10030,$FF7BFFA7FFD6FFC2,$BB0014FFCBFF9D,$28FF90FFB900AB,$163012000A50073,$CD00BC009600F7,$FB010B00CE00AF,$94006400450095,$FFAA00B5007D006C,$FB53FA49FADEFD26,$12EE0B7B02E2FDBD,$FC5102990AF31288,$74EFF28F791F79D,$F94CFE0602FC07B5,$A5E054FFB7AF6D2,$FEE602440541086F,$4A703F1005DFD88,$FE960165043904C6,$F62FF787FB21FD1C,$F232F4F1F89FF87C,$AE10374FB54F482,$FDCC06920C1B0E36,$F69DEE01EBEFF32C,$100213A90956FECA,$F7BBEEB2EEB3FDF8,$17B0AEA09B50121,$ED4BEB83EE59F5E1,$7B20237FAB0F304,$FE1DFE6E03F9086B,$6220E890D6E052F,$F4B9EA3AEE9CF990,$13391AA619030A23,$EA5EEAFBF65005E6,$11B1156007A5F596,$EC94E112E72EFCC6,$2DC03A70559FD88,$101E0DF6099E05CA,$54C07C30B030E49,$FC1DFE1001FE040A,$A640A2007CE00C7,$F27BFA48037B09CE,$11D50602F4D0EE0C,$3C4050807480F20,$30D032DFFF3FFDA,$6B400F3FE1AFFE2,$3F70A780C500AF4,$F2A8F2ACF52FFB25,$3310255FDF6F6DF,$F89C0279083705E3,$F971F8B6F5C2F414,$F8EEFB39FA0CF90F,$F725EE89ED80F2CC,$AAB084D06830153,$FD53005106C60B7A,$ED3EEDBDF2C1F9AA,$160D0E78FF50F288,$FF2F00A5080A11F6,$FE3F067F078102DF,$F9BBF3C5EFE6F453,$3FFFF1DFBA2FB3E,$F720BA008EC074F,$F1D6FF4B0B8B10A8,$C63FFF0F27FEC46,$111C16BE17B91434,$10CC0DE309BE0AAF,$EB16F19BFFC40CA3,$20AFAF9F320ECD8,$F99EF95BFE5D03A3,$A3F07FE026AFD43,$E9C1EED4F95004CF,$F909F072EA57E8B8,$FA7EFAD9FCE4FDB7,$7E90253FCACFAC9,$40A0438063D08C0,$52F0302032103FC,$6C80ACD0BE1092C,$28EFEEFFF460251,$F831292107309A2,$CA00BA50A5B0B85,$B860D800CFD0C8A,$FDD8FD1400710662,$FB3401AA0401017D,$E97FE876EC70F379,$F133F197F108EDCD,$F71DF081EF77F08D,$4BE08B2085B0150,$FBBDF8E4FB11FFC8,$C503E5047D0139,$2B4FE7AFC01FD4A,$F90BFCA2017A044A,$FBA1FA0BF8CFF814,$FD46FC6EFCFCFCF3,$AE609550575009F,$88309840A5E0AE5,$FF3F03AB06F907F5,$2E7FF6DFD60FCF4,$11005C5084806C8,$F98BF907FA4CFCF8,$FE2AFE00FD66FB7F,$4BA03AC0216FFB2,$C250A9F0889065A,$8900A9C0C4A0CD2,$6EF06E2067C06FB,$22C0271040505D9,$F9E7FE92020802CB,$EC7BEF2EF2C9F60D,$F0BEF011EE6AEC7C,$F4C8F35BF220F13C,$F928F7CFF6F5F613,$FFDFFDFFFC5AFACA,$8F706D2044E01F1,$B930B8B0B3B0A6C,$B560BB90BB20B95,$FE69032207780A23,$EDFE49FBCDFB89,$FE0B0006020B0263,$5A003E000C4FE36,$7C10602058F05D1,$EB30F370D6B0A87,$F4036407590BAB,$FBEFFE7FFFAB0012,$F1ADF30CF53AF86E,$F2B4F1CCF0FAF0EC,$F55DF482F3BFF33B,$F7F9F7CBF74BF658,$FDF7FC14F9FEF886,$27A01EC00CAFF6E,$8920668041B02D9,$B890BAB0B0209F8,$854097E0A1B0AD2,$FE9AFFF602C905FB,$FBA2FD45FE51FE80,$F726F777F85EF9DE,$F85CF765F71BF71A,$D5FEDAFC54FA0B,$4FB03F202E501FD,$7CD07CB06E905E7,$582059E05FC06E6,$43D043504860522,$2110271033E0400,$1BB024402370213,$FAE5FB9AFDA40014,$FC5CFC4EFC0AFB5D,$FE28FD84FCEBFC88,$FEF9FEFEFEE0FE9E,$2980128FFB8FF09,$3030328035A034F,$FEED00F7024102D7,$F860F8ABFA08FC61,$F6ABF70EF7D7F859,$FCB0FA5EF853F70D,$3FFCFFF90FE95,$6590458023A00BC,$85107EF07CF077F,$9AA09A0094C08D7,$70C07B0088E094A,$357049405BA068C,$FE53FF1A006301EF,$FC48FCD3FD50FDD1,$F8E8F9C4FABEFB93,$FC56FACCF98EF8CC,$FFD5FF7DFEECFDDC,$DA009800450011,$FFF00050006F00B7,$FB4BFC5CFDB7FEFE,$FBA3FB30FAEBFADD,$FDB8FCD8FC7AFC26,$FF45FF9EFF96FEE1,$B5FFDAFF29FEF8,$E3019A01EE0183,$25301A000E00089,$27A025C028802A3,$318031502F902C4,$43703D90361031D,$2BC034B03DF043D,$1E8022402330258,$17A0115011E017A,$40303F2034E024B,$4520455042103F7,$6E01D2032203F8,$FE52FEC4FF08FF7A,$FBEFFC51FCE3FD9E,$FA2CFADDFB68FBB2,$FA55F9C6F978F9A1,$FB22FADBFADFFAC7,$FE13FD48FC6AFBB2,$FF87FF1DFECCFE89,$A6009C0050FFEF,$15900E1009A008B,$2D602AB027201F4,$421042403C8033B,$3F603E603CE03EB,$3C903BF03C403DC,$4CF04A2045003F9,$33703E5048604CF,$F20184022502B2,$FE25FED0FF920052,$FC32FC9AFD15FD96,$FD0FFCD3FC57FC0C,$FDC7FD62FD2BFD17,$FFADFF63FEDFFE4D,$FF5FFF76FF93FFB1,$FE6FFED8FF14FF40,$FDF4FDDAFDCEFDFE,$FEEFFE99FE47FE12,$26FFD5FF80FF37,$10200CE008C005E,$D300AC00C600F8,$19B01A001740126,$6E009100F00159,$FFF80060008A0080,$FF04FED1FEEDFF65,$FF0AFF31FF55FF45,$BC0026FF82FF1A,$19E017B0154011D,$20401DB01C101B4,$2EC02B702710235,$12201D6027602DC,$FF3AFFA90008007F,$FD69FD89FE0AFEAC,$FDBEFE24FE1BFDB7,$FE15FD5BFD06FD3B,$FFCEFFCEFF79FEDD,$BFFA8FF7BFF98,$BB00B1009E006B,$187012E00E800C9,$B000FC0160019F,$10100BB00910092,$12F01770182014B,$CD00B000AD00DB,$E300D300DB00E3,$17C016D013A0104,$162015301650177,$120016001730170,$5E006F00AD00E9,$FF45FFB4000F0044,$FF3BFF37FF1BFF15,$FDC7FE0FFE6EFEE4,$FE0DFDFFFDE9FDCB,$FDF4FDAAFDA2FDD5,$FFB6FF69FF0DFE91,$230006FFD9FFC0,$4D0074008D0061,$880079004E003A,$FFE7004E00830091,$FF75FF4FFF49FF71,$FF0DFF4DFF54FF7D,$FF7CFF3DFF15FEE7,$7E002DFFE6FFAD,$8C008200620096,$360022007E0087,$13B00F80085005C,$1AE019F01A50187,$116015D019F01AD,$8B00E500EC00E6,$FF55FF77FFC80034,$FEF0FF1CFF2EFF38,$FE82FE84FEB2FEC5,$FEC5FECCFEABFEA1,$9BFF9BFF2BFEEF,$108013201790146,$FFE5FFF7001600DD,$FFEFFF9B0000FFD5,$FF9CFFD0FF6BFFE1,$C3FFB60018FFEF,$1B012900A500D0,$FF97FEA6FFA7FFD5,$B01C8013D009C,$11AFF73FEB7FE91,$FE060011014301AD,$223009CFF8FFE65,$FF10FFD100590153,$3BFEEAFF29FFA7,$4D0093007A006C,$F8FF36FF44003E,$FF49FF9FFFFB00F3,$9100E600F70039,$26FFB1FF6CFFA6,$17C012AFFE3FFDF,$FFF7FF5000100157,$FF6C002F00C1FFF3,$FFB4FFC0FF54FFD4,$4FFFA2FF7AFF8C,$FF0F007D0094FF88,$59FFF000070043,$6400B80069FFEE,$1000340024FFA4,$FF8FFF750127017B,$D1004B00350104,$1DFF0AFF7FFF30,$FF5500A0004B0162,$25B0181007BFF61,$FEEA015D012500A6,$29CFAB5F9F6FBAA,$FF5B05F0106E11A0,$FE0C068100FAF7DE,$9B3027BF8D1FB1B,$86FD2C051407A2,$FD2B038F03F502C1,$F900F77BF48DFC40,$BD60100F8ACF270,$E644F610098C0E48,$100A10D0FEA9F3B8,$A38007FF1A2F242,$F032EC92F18A0544,$32A08380475F7A0,$44D104E0542FC66,$18FBFF92EA95F248,$E819F4CA074314C3,$E29109D71643F95A,$3E6097C007BE421,$CFA0FA80F5D08AF,$FBF3FC76053D0749,$FEFA0AD80C4806AD,$16FCFE04E813F1E7,$FED500AC06FC0C86,$585FC49FDAA05A7,$F803014209A50BC8,$64A02D9F4F1EF6A,$F50AF16A01340833,$F632F8F5FA02FBE6,$327008BF2DEF085,$FF2D01D609A106A5,$FE4BEC64ECD5F640,$FCFE0615179418A4,$EC4CFAA009300414,$68B009BFE11F35D,$AB50EDB093B0707,$81DF29BE86DF9C5,$9F20B3814941446,$EF83FCA6105011FC,$D60514FA06F057,$8FE0306FD4BFBD9,$E9D1EA40F1F20061,$F75CF988FBABF313,$C140E820391F992,$2D8017805340780,$FE6C03F80D2E0B78,$EFD110C0703FEB0,$9260A8D090F0880,$FCA2FB9304A90A20,$ED55F93C00F601BE,$F4D4F57FEE12E673,$AA6FB21F14EF37D,$FB19FB1303E60C04,$FD73FF9002C50182,$F4A2FBCA02A200CF,$FE5FFEE3FB36F57F,$C4108EBFD8EFA5A,$74C073A09B70AED,$254FD03FBEE0281,$FEB8002704E806EB,$FDD6FCD0FC34FCFE,$4CC01DA04770291,$92C0E2D0D1B09C3,$43305FE076006DB,$FBA9010E014C00AB,$F0DAEEE9F2B4F84C,$F67AF4F8F334F215,$FA85F835F5CAF5F3,$57C009AFE20FCEF,$9D2094409960873,$FF0D06E50AD30B53,$3470260FD15FA49,$6B101F7FD9DFF0C,$D11073C057F0735,$39A08E20FD811CD,$F768FC9F01740281,$F289F1C7F209F419,$F30FF340F3CAF395,$FB42F76BF430F308,$3AB02F900D1FDFA,$B36091907FA0605,$5D40A290B7B0BA4,$FE2000D1018D0269,$F906F9AAFA3BFB3A,$FF63FD3FFA44F8EF,$375025E00D1FFE2,$45E036404040440,$54B058704D604FF,$3A00434049D049E,$FBA3FAEFFCBA010D,$FC29FBC0FC29FC50,$FEF6FE4EFE15FD38,$331036402E70101,$FA78FE970238033C,$F6BCF842F897F888,$5FE09F9F8F6D8,$5000129FF03FF55,$909080E07F607BC,$8DB0A470B2F0A50,$1A70460065807DA,$FB25FC2CFD79FF05,$F817F7D4F920FA66,$60FEE3FCC3FA40,$120017D013A00D8,$FB23FD75FFE600D8,$FC47FB30FA7BFA54,$FF3BFFB5FE80FD28,$1F20072FF3DFEB2,$1B901350157022B,$2FF023101B401E6,$3B9030502C8030F,$2370286035203E9,$1800195021E0260,$42504430410028D,$132033204380476,$FD77FE19FEB6FF6E,$FA8DFB88FC03FCB4,$FAE9FA46F994F996,$FD99FC5CFB67FB28,$FFDDFF15FE97FE37,$18E00EA00C300AA,$387032E0345027F,$2BC030503B3042E,$392031B02EF02BE,$44D05430538045B,$82018402530345,$FC2FFCC5FDA0FEFF,$FCF5FCBDFC09FBB6,$FFABFEC9FE1DFD73,$FFB0FFB4FFCDFFF9,$FDCFFDCFFE73FF59,$FF3FFEB2FE81FE26,$94005500590014,$DF00780036007F,$CF0127014B011E,$FFD700C9010800BE,$FF07FF8AFF6DFF4A,$13800B4FF7AFEA5,$211019901810161,$2C5030302C30291,$FFC60066011001E1,$FD9FFD32FDC6FEE8,$FD67FCF2FD6EFDFE,$FF6CFF8FFF39FE5A,$1150110007DFFA8,$20C01B9010700EB,$6D0020008E016A,$1E00DE014C0109,$36008E00830016,$1AA018700F4003C,$22E01EB017F0187,$A700DD01740208,$FF26FF0DFF510019,$FDA8FDE1FE4AFEEA,$FDE2FDE7FE1EFDD3,$260008FF2FFE5A,$FFE200200002FFF1,$FFF3FFBDFFAEFF99,$FF34FF0DFF74000A,$FF18FF69FFB1FF84,$50FFD4FFB4FF59,$C20097009900C8,$FA009B007A0096,$14501510153014E,$EF010B010D0125,$FFBCFFEBFFFD006A,$FE5AFED7FF46FF7D,$FEA8FEDEFED3FE62,$13501240064FF2E,$13E01240108011F,$D9007000BA010E,$7500AD01620193,$A5005100620091,$D0010600DD00C2,$B10153013900CF,$FFADFF8CFF61FFC8,$FECBFE77FE9AFF46,$FD20FDA7FEA9FEF3,$FF56FF2FFEF1FE14,$17FF70FF13FF2B,$4600370004003E,$10001000350038,$9C012200AA001C,$FA00C4004B0024,$F5013C017A0124,$11F0136010800FA,$E600CE00E90102,$E200F600BD00C7,$5B004100400086,$16FFDDFFC90029,$FF20FEFDFF2EFFB7,$FEB9FF22FF9CFF7C,$FFF8FF5BFEEA,$FFCCFF41FF17FF53,$92FFEFFFEE0040,$2B005500C600FC,$FB014500E7004A,$FFFDFFC6004800C5,$23000FFFAEFFFC,$FF89FFDFFFE8FFA8,$CA00A00066000E,$AA010C00D60089,$12A0190012A00A6,$A6004E006A0099,$5F0094010B0129,$FF93FFA900570085,$FF6FFF42FF95FFEA,$14FF92FF66FF6D,$FF7DFF65005A00CA,$140086FFE6FFAB,$FFA8FF6CFF35FF32,$FF71FFBE0018000B,$FFEB00830095FFD5,$C3015000D40002,$1E700BF00460037,$FFFD002600EB0222,$FFA8005400E5006D,$29FFD8FF13FF30,$FFD6FF70FEE8FF5B,$260000FFCDFFC5,$FF93003B00920051,$FFD00041FFDDFF83,$FFD4FFA1FF6FFF26,$FFF6FFA900050049,$A3FFE9FFD20028,$12A014D01770135,$E80116014C015A,$10D00AF00530094,$FF74FFFD006B00B8,$FF5EFF7EFFC3FFA0,$FF80FFAEFFCAFF8E,$FFC5FFB8FF70FF63,$A3FF9BFF39FF8B,$F00610038009C,$FFA8FF18FF36FF9A,$FFE5FFC7FFC0FFD4,$6000AD00D00080,$8C00CB00F70069,$C400E400C700C5,$12000D00570082,$FFEA0043007C004F,$50020FF9FFFB6,$73FF78FED6FF0B,$FF9FFF8E002A00CE,$FF82FFF2005F0036,$FF3E0018FFF4FF68,$FFA9FF67FEFCFEB1,$FF1FFEBCFF37FFBF,$8D00E40082FFCA,$B400F900D60073,$A9003100170052,$3B0000001100B2,$83010900F40059,$B000C600800062,$39FFCFFFBC001F,$FEEEFF44FFC1002F,$350051003EFF88,$2500290018000C,$E10033FFEB0018,$17000D00E1014A,$FFB0003500D800C5,$6F004AFFF2FFB5,$FFC6FFFCFFFB0027,$FF34FF33FF69FF89,$13FFE7FFBDFF8A,$A0032FFD9FFDE,$FF88FF59FF63FF99,$FFB40007000DFFCF,$A80054FF9CFF6F,$710031003C0063,$A600BE00EE00D9,$FF9F002000AC00D2,$C0000FFE9FF89,$1F00460048004A,$13700F800930020,$EA00D600C3010C,$25FFEE004400C2,$FFD5FFE20037005F,$6100C000C1003E,$D5007F0014001E,$11000F800A600A2,$4C008100AB00E5,$460049001C0013,$FFE8FF60FF56FFE6,$FF42FF3BFF7EFFDE,$FFAAFFF80029FFCF,$4E0018FFCAFF8D,$FFACFF77FFAD0031,$FF38FFB5FFFBFFDD,$570039FFEBFF64,$14200BA000A0013,$56004F008C010F,$FFAD000F009E0089,$D004E00680014,$FFD2FFA2FF98FFC9,$900098004CFFFC,$97009E00A8008C,$9B0078003E0073,$FFAAFF9DFFC70037,$FF5BFFF50019FFCC,$9D0025FFBAFF5C,$6C009100A600B1,$FFFA004500900084,$56009E0082002A,$FF7DFF77FF5BFFAE,$FF64FEFCFEF8FF47,$FFF00016004CFFFB,$7B006E003C000D,$440083007C0071,$FF56FF59FF6CFFC7,$FF35FED7FF18FF48,$84005F0036FFEE,$F400FB00E200A1,$11400FD00DA00E2,$9003300A100FD,$FFB8001300320016,$9FFD3FFB0FF98,$FF97FF8FFFA7FFF0,$12002A0055FFFB,$2B0069006D003C,$640068000DFFFE,$FF90FEFFFF1EFFBB,$15FFF800180020,$64007500660051,$B600920018FFFF,$500042006B00A6,$FF70FFE3006F0079,$FF60FFD3FFBDFF79,$FF93FF76FF1AFEF2,$FF99FF59FF74FF88,$E300DB00570001,$FB010300E300AC,$950085006900B2,$FFBEFFAC00310096,$FF61FFC0FFDFFFD3,$B9002BFF9DFF60,$17E00FB00AC00BA,$8D00EA012F018A,$FFD500380067005D,$320009FFC7FFA0,$FFF8FF95FF93FFF9,$2B007500D10092,$FFF3001F004F0039,$27002EFFF2FFED,$FF96FF5EFF7DFFC8,$FF41FF64FFAFFFCE,$FFD9FFD3FFC8FF82,$6F0078005F0010,$4B008A009D0078,$160047006D0061,$FFC1FFBAFF92FFB6,$FFE7FFD2FF8BFF93,$38006E009F0023,$C70118010E00AD,$500062001C003D,$FFF3FFADFFBBFFE8,$FFE90002007C0089,$A9008600620021,$6000B900B200B4,$E002A00420024,$FF88FF98FF9BFFE1,$AC0052FFBBFF6D,$6B000E002E0088,$2C006D00D200E0,$FFD4FFD9FFE8000E,$FF89FFBBFFB8FFB9,$41FFB1FF35FF3E,$770052003C005B,$3F002B00290059,$FFA8FFB9FFE50027,$FF85FF87FF90FF9D,$FFDDFFB5FF76FF6F,$960055004B0014,$A8009800AE00D0,$FFFD004C009A00B0,$FFDE002D0042000A,$29FFB3FF71FF94,$7D00450035004F,$9100E2010400C0,$A90116012100C3,$7300840066004F,$FF8BFF9700090060,$FFC5FFED0011FFDA,$77004F000FFFDA,$8000690054006D,$FFDB0031006B006F,$FF5FFF88FFE8FFF5,$FFC7FF97FF48FF40,$FFFFFFCCFFC1FFCA,$A004D0084004C,$5E00A0008E003E,$30028000F000B,$FFBBFF60FF5DFFB1,$FFE7FFA6FFAEFFDC,$1003700520032,$AB00DF0097001B,$BD00A800710068,$81007D008C00AB,$1A004300720080,$3C0054003F0024,$3B0005FFE2FFFD,$20010001F003A,$5100480029000D,$FFBAFFBDFFEA0027,$FFD6FFD3FFCFFFC7,$FFBBFFDD0000FFF7,$5F0061001CFFC2,$6FFC3FFF40043,$2F005C009B007B,$FF6BFF9DFFE20012,$3D0042FFEEFF92,$FFCBFF96FF9AFFDD,$C001B0007FFF6,$620083007F0033,$51003D002F0038,$77003400220056,$FFEBFFEA002C0066,$5300450016000F,$790050002B002E,$1B006F00940084,$7E007500380011,$FFEF0031005B0054,$BFFD6FFDCFFE9,$FFC4FFEE00560066,$FFFFFFF5FFC3FFAE,$FFDBFFA3FFDD000D,$FF86FF8EFFEC0017,$FFBA00080012FFD7,$26FFE4FFB4FF90,$6A0003FFF80035,$FFED0020007D00A9,$6F00A800770018,$3DFFE0FFA8FFEF,$FFFFFFB5FFE1003E,$370048005D0051,$A100BE008E004D,$66002E00270053,$1D00450089009F,$5D008C00790035,$8A0089005C003A,$3C0042007F0094,$4100500052004F,$FFF900230021002C,$FFC9FF97FF71FF9D,$FFB4FFBCFFBFFFCA,$FFBBFFE3000BFFDF,$FFD9FFEEFFE8FFCC,$FFE6FFDDFFCCFFCA,$FFF4FFC0FFBDFFD2,$19FFE0FFDB000F,$4D00870092004D,$21004B004F0043,$7B005B0023000B,$22001E00030033,$DFFE200040023,$52008700B90072,$FFF100370069006B,$320010FFEFFFD5,$31000FFFEC0019,$66006E00510037,$92009C006F004D,$30004900670080,$2FFF5FFFF0010,$17003A003C0026,$FFD2FF97FFBAFFF2,$FFCAFFB0FFBDFFE9,$FFB2FFDEFFFDFFF2,$160015FFF7FFB8,$190014FFE7FFFA,$2C0000FFECFFF4,$FFE0FFFB0021003C,$FFE2FFB4FFCCFFDF,$30015001D001B,$5E002E000AFFF3,$49006300960093,$550049005A005E,$1C0032004D005C,$710056001E000C,$FFECFFE900190059,$3C00430019FFF7,$2E00340002000C,$30FFF1FFD7FFF1,$FFE0FFDD000B003E,$FFB4FFDD001E001A,$FFFD0006FFE9FFB8,$2F0000FFF80000,$200012002A0041,$18001B002C0037,$390059005D0034,$3000200010016,$6500590030000F,$46002B0031004B,$15002200530064,$1100160038003B,$1A00030003000B,$19FFF6000D0030,$2400280036003D,$2E0057003C001C,$55003DFFFCFFFA,$28001900190030,$B002000220027,$5200420026000E,$120016003A0048,$FFF7FFF7FFFE001C,$FFFE001C00200002,$17000AFFE3FFD9,$1A: s_22_e:
EndDataSection
#sUp=0
#sDown=1
CatchSound(#sUp, ?s_22, ?s_22_e-?s_22)
CatchSound(#sDown, ?s_21, ?s_21_e-?s_21)
OpenWindow(0, #PB_Ignore, #PB_Ignore, #PB_Ignore, #PB_Ignore, "test", #PB_Window_ScreenCentered|#PB_Window_Maximize)
OpenWindowedScreen(WindowID(0), 0, 0, WindowWidth(0), WindowHeight(0))
KeyboardMode(#PB_Keyboard_AllowSystemKeys)

Repeat
Define e=WaitWindowEvent(100)
Enumeration modes: #mode_pb: #mode_winapiAsyncKey: #mode_winapiEventwParam: EndEnumeration
#mode=#mode_pb
CompilerIf #mode=#mode_pb
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Capital)
PlaySound(#sDown)
endif
if KeyboardReleased(#PB_Key_Capital)
PlaySound(#sUp)
EndIf
CompilerEndIf
CompilerIf #mode=#mode_winapiEventwParam
If EventwParam()=#VK_CAPITAL
If e=#WM_KEYDOWN
PlaySound(#sDown)
ElseIf e=#WM_KEYUP
PlaySound(#sUp)
EndIf
EndIf
CompilerEndIf
CompilerIf #mode=#mode_winapiAsyncKey
If GetAsyncKeyState_(#VK_CAPITAL)>>15&1
PlaySound(#sDown)
Else
PlaySound(#sUp)
EndIf
CompilerEndIf
Until e=#PB_Event_CloseWindow

Re: Keyboard issue: #PB_Key_Capital

Posted: Sat Jan 28, 2023 5:20 pm
by Fred
Seems to work as well correctly, can anybody else confirm ? BTW the code from nsstudios if not right, you can't test KeyboadReleased() in an elseif of KeyboardPushed(). It's 2 independants commands.

Re: Keyboard issue: #PB_Key_Capital

Posted: Sat Jan 28, 2023 5:23 pm
by nsstudios
Edited my example, but here's another test.
Expected behavior and the thing that happens with most other keys:
quick press: pushed released. hold down: pushed, let go: released.
Caps lock: quick press: pushed. Quick press again: released. Quick press again: pushed, quick press again released. hold down: pushed released pushed released pushed released repeated. let go: random between pushed and released.
Windows 10 22h2.

Code: Select all

InitSprite(): InitKeyboard()
EnableExplicit
OpenWindow(0, #PB_Ignore, #PB_Ignore, #PB_Ignore, #PB_Ignore, "test", #PB_Window_ScreenCentered|#PB_Window_Maximize)
OpenWindowedScreen(WindowID(0), 0, 0, WindowWidth(0), WindowHeight(0))
KeyboardMode(#PB_Keyboard_AllowSystemKeys)

Repeat
Define e=WaitWindowEvent(1)
ExamineKeyboard()
#key=#PB_Key_Capital
If KeyboardPushed(#key)
SetWindowTitle(0, "pushed")
EndIf
If KeyboardReleased(#key)
SetWindowTitle(0, "released")
EndIf
Until e=#PB_Event_CloseWindow

Re: Keyboard issue: #PB_Key_Capital

Posted: Sun Jan 29, 2023 8:06 pm
by Psychophanta
Here it continue with the same behaviour, at least in the winx86 version; win8.1 and "hama" wired USB keyboard.

Re: Keyboard issue: #PB_Key_Capital

Posted: Sun Jan 29, 2023 9:05 pm
by infratec
Yes, the title change rapidly if the capital key is continiously pressed.

PB 6.01b2 x86 on WIn10 x64

But my small VK test tool shows a constant value for VK_Capital if it is pressed continiously:
viewtopic.php?p=594777#p594777

Re: Keyboard issue: #PB_Key_Capital

Posted: Sat Mar 22, 2025 10:21 am
by Fred
I don't see the behaviour here, so it seems to be keyboard dependent.

Re: Keyboard issue: #PB_Key_Capital

Posted: Sat Mar 22, 2025 8:16 pm
by nsstudios
I've tried this with different keyboards and computers.
The end result is that just pressing the capslock and immediately letting go results in KeyboardPushed continuously returning true until the capslock is once again pressed and released immediately as though the key is stuck down, at which point it returns false and KeyboardReleased returns true once like it should.
If the capslock is held down, it seems to toggle between true and false repeatedly.
If we compare this to any other key like #pb_key_a for example, KeyboardPushed returns true while the key is held down instead of toggling like capslock does, when I let go of the key, KeyboardReleased triggers once.

Re: Keyboard issue: #PB_Key_Capital

Posted: Mon Mar 24, 2025 7:32 am
by Quin
I confirm nsstudios' behavior with a wired and wireless keyboard on windows 10.