- Jun 19, 2022
-
-
Syboxez Blank authored
-
- Jun 05, 2022
-
-
Clayton Craft authored
-
- May 27, 2022
-
-
Clayton Craft authored
Fixes #142
-
Fix the build with GCC-12. Thanks to Lance for reporting this and for the patch in issue 144.
-
Clayton Craft authored
In gcc 12, the return value for the operator>> of istringstream doesn't seem to indicate success or not, this may have been taking advantage of some undocumented or deprecated behavior... Anyways, with this change the bad bit is checked explicitly after expanding the line. This also simplifies the code slightly by removing the error var, which was not really necessary. Fixes: #143 Replaces: !157
-
Clayton Craft authored
-
Otherwise the highlight color ends up leaking all over the wallpaper.
-
Clayton Craft authored
these tests require the osk to be visible, so use the -s option to have it shown by default
-
Clayton Craft authored
Mostly useful for testing, where we want the osk to show up reliably regardless of whether there is a physical keyboard attached. But might be useful for other use cases too.
-
Clayton Craft authored
-
Clayton Craft authored
Really helpful for understanding why click tests might be failing
-
Clayton Craft authored
new dependency required for running functional tests under xvfb
-
Clayton Craft authored
-
Clayton Craft authored
Recommended by cppcheck
-
Clayton Craft authored
IMHO using find_if would be more complicated / less readable than this ugly comparison.
-
Clayton Craft authored
Prevents a possible out of bounds access. Found by cppcheck
-
Clayton Craft authored
Suggested by cppcheck
-
Clayton Craft authored
These were apparently not initialized when set to nullptr in the struct definition.
-
Clayton Craft authored
edge can cause failures unrelated to osk-sdl, and the static analysis job was using a really really old alpine image.
-
- Aug 29, 2021
-
-
Fixes #91
-
These macros were introduced with libcryptsetup 2.3.4 only. Using conditional compilation makes it possible to compile osk-sdl on earlier versions of libcryptsetup (albeit without these features).
-
- Aug 27, 2021
-
-
Clayton Craft authored
This simplifies the way passphrases are represented on the screen by replacing the drawn circle/dot with any specified character from the font in osk.conf. As an added bonus, users can set the option in the config to "" to have osk-sdl hide any passphrase dots on the screen, which is the same behavior cryptsetup has. Onlookers can't easily see how long a passphrase is.
-
Clayton Craft authored
-
Clayton Craft authored
The glyph will be used to represent 1 char of the passphrase on the screen
-
Fixes: #133
-
Clayton Craft authored
I'm not sure why this is suddenly needed, but my best theory is that a change in SDL2 2.0.16 results in osk-sdl not displaying correctly when running on X in fullscreen mode. You can see this by running an X server at a specific size, then running osk-sdl inside of it. $ Xephyr -screen 480x800 :11 & $ SDL_VIDEODRIVER=x11 DISPLAY=:11 osk-sdl -d a -n a -c ./osk.conf Previously it would fit in the X screen size specified, but now it seems to resize the X screen and fill more space. This throws off all of the tests, which all depend on using xdotool to move a cursor and click at various coordinates in the X screen.
-
Clayton Craft authored
The old implementation shouldn't conflict with any running tests, since they *should* use a new server ID (which is appended to the temp filename) each time, but just in case...
-
- Aug 01, 2021
-
-
Clayton Craft authored
The N900's keyboard is obviously a keyboard, but it fails the previous mask test because it apparently doesn't include number key codes in its key capabilities... So by using the N900's config as a mask for testing, pretty much any real keyboard should pass, and the N900 will too. fixes #132
-
- Jul 31, 2021
-
-
Clayton Craft authored
-
Clayton Craft authored
Width/height were accidentally swapped when initializing the keyboard toggle, causing the text position calculation to be wrong and resulting in the text not being displayed on the toggle surface. Oops.
-
- Jul 30, 2021
-
-
Clayton Craft authored
This results in a pretty big speed-up in sw rendering, as BlitNtoNPixelAlpha was taking up something like ~85% of the total application time when I was hammering key presses. Collected with: $ perf record --call-graph dwarf -F 99 ./_build/osk-sdl -d a -n a -v I used the SDL2 sw rendering to collect this data, but there's a similar speed-up when using directfb too, it's just a lot easier to see in the perf report w/ SDL2 sw rendering (the dfb version has a lot of noise from internal dfb stuff.) before: 99.75% 0.00% osk-sdl osk-sdl [.] main | ---main | |--86.03%--SDL_RenderPresent_REAL | FlushRenderCommands | SW_RunCommandQueue | | | |--84.49%--SDL_UpperBlit_REAL | | SDL_SoftBlit | | BlitNtoNPixelAlpha | | | --1.55%--SDL_FillRects_REAL | SDL_FillRect4 after: 99.31% 0.00% osk-sdl osk-sdl [.] main | ---main | |--47.90%--SDL_UpdateWindowSurface_REAL | SDL_UpdateWindowTexture | | | |--46.91%--SDL_UpdateTexture_REAL | | GL_UpdateTexture | | 0xffff893b3567 | | | | | --46.74%--0xffff893ae997 | | ..... | | | --0.83%--KMSDRM_GLES_SwapWindow | eglSwapBuffers | |--47.71%--SDL_RenderPresent_REAL | FlushRenderCommands | | | --47.56%--SW_RunCommandQueue | | | |--38.84%--SDL_UpperBlit_REAL | | SDL_SoftBlit | | | | | |--23.86%--Blit_3or4_to_3or4__inversed_rgb | | | | | --14.97%--BlitNtoNPixelAlpha | | | --8.73%--SDL_FillRects_REAL | SDL_FillRect4
-
- Jul 29, 2021
-
-
Clayton Craft authored
Previously added destructors fired too late, after the renderer was destroyed, causing seg faults on musl (though, not on glibc, so it must be some undefined behavior or ???) Explicitly calling a cleanup() for these objects to free textures at the end of the app seems to be working well, no leaks and no use-after-free/double-free/etc issues. The default destructors for these objects is used for everything else.
-
Clayton Craft authored
Other objects use TTF_* too, so initializing it in the keyboard object could introduce some race condition (though I've never seen one first hand...) It's still good to do it in a central place. This also calls TTF_Quit() to clean up.
-
Clayton Craft authored
-
Clayton Craft authored
-
Clayton Craft authored
-
Clayton Craft authored
-
Clayton Craft authored
This is a slight optimization that moves scheduling of a render event so that it is only scheduled when a repeat character satisfies the repeat delay, which is the only time a dot will be drawn on the screen for the character. There's no reason to render things if the key repeats before the delay since the character is discarded and nothing new is added to the screen.
-
Clayton Craft authored
The newly added C-u hotkey seems to be generating a text input event in SDL on some systems (Pinebook Pro), while it did not on other systems (thinkpad running Arch) in testing the earlier patch. This returns from the text input handling when the event was fired because C-u was held down.
-