Skip to content

Commit 8aba2b4

Browse files
committed
Updated README.md for framebuffer/DRM port. Clarified a comment about the 'common' mouse handling code. Updated PDC_VER_DAY and HISTORY.md.
1 parent af4a7c5 commit 8aba2b4

4 files changed

Lines changed: 41 additions & 5 deletions

File tree

common/mouse.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,11 @@ while( the platform has a new mouse event && TRUE == _add_raw_mouse_event( ))
122122
}
123123
}
124124
125+
(Strictly speaking, the naps are unnecessary. Without them, you
126+
simply go to 100% CPU usage looking for the next mouse event during those
127+
SP->mouse_wait milliseconds. With enough clicking, those cycles would
128+
start to add up.)
129+
125130
(2) In the above logic, you can't get double-clicks without also getting
126131
single-clicks, and you can't get triple-clicks without getting doubles and
127132
singles. This may be changed eventually, though it seems like an unlikely

curses.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Defined by this header:
4444
#define PDC_VER_CHANGE 2
4545
#define PDC_VER_YEAR 2025
4646
#define PDC_VER_MONTH 6
47-
#define PDC_VER_DAY 19
47+
#define PDC_VER_DAY 23
4848

4949
#define PDC_STRINGIZE( x) #x
5050
#define PDC_stringize( x) PDC_STRINGIZE( x)

docs/HISTORY.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,33 @@
11
Generally speaking, this history mentions only the more significant
22
changes. See the git log for full details.
33

4+
Current version - 2025 June 23
5+
==============================
6+
7+
Minor new features
8+
------------------
9+
10+
- More fixes a la those in 'upstream' PDCurses to make MANUAL.md more
11+
markdown-friendly. 3e528a85d4 ed3103d705
12+
13+
- Framebuffer and DRM ports now have full mouse support. 7ec7b956f0
14+
15+
- Zooming/panning around in 'picsview' no longer flickers. af4a7c5d72
16+
17+
Bug fixes
18+
---------
19+
20+
- C23-compliant compilers (and some others) objected to the casting of
21+
function pointers returned by GetProcAddress(). ce60aa6608
22+
23+
- If PDC_NCMOUSE is #defined, the behavior of the mouse routines should
24+
copy that of ncurses, warts and all. Scroll-up and down are mapped
25+
to presses on buttons 4 and 5, and tilt-scroll events and "real"
26+
button 4 and 5 events are ignored. 0de9f723e3
27+
28+
- Minor fixes for Digital Mars and OpenWATCOM compilation of WinCon and
29+
WinGUI. a4c01532e8 6af988940d 6eedea061c
30+
431
PDCursesMod 4.5.2 - 2025 June 19
532
================================
633

fb/README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ This directory contains source code to support PDCursesMod using either the 'tra
66
Shortcomings (which should be addressable) are :
77

88
- It assumes 8 or 32 bits/pixel. It should be relatively easy to support other bit depths with suitable changes to the `PDC_transform_line()` function in `pdcdisp.c`, but I don't currently have a system that supports 15-, 16-, or 24-bits per pixel. (Fortunately, such displays appear to be getting rare. I had to dig out an elderly laptop to test the 8-bit display.)
9-
- The mouse is not supported. It looks as if the `uinput` system allows one to access the mouse without needing X; I need to investigate. `gpm` may be a better choice.
109
- Italic and bold fonts are synthesized from the given font, but it would be relatively easy to let specific fonts be used for that purpose.
1110

1211
The default font, borrowed from [DOSVGA](../dosvga), is fixed at 8x14. Set the environment variable `PDC_FONT` to point to the name of a PSF1, PSF2, or VGA font to use that font instead. (See `psf.c` for comments on these font formats.) Hit Alt-Minus to toggle between the built-in and the `PDC_FONT`-specified fonts. Add more fonts with `PDC_FONT2`, `PDC_FONT3`, etc; Alt-Minus will then cycle among all specified fonts and the built-in one.
@@ -26,18 +25,23 @@ In no order :
2625
- Fallback fonts.
2726
- Fullwidth characters. For these, we may need one font that is, say, 8 pixels wide (for most characters) and one that is 16 pixels wide for the fullwidth characters. That may be an extension of the above task of having fallback fonts : "Didn't find the desired glyph in the 'normal' font? Maybe it's in a fallback font." Alternatively, we can make use of the fact that the Unicode-to-glyph table can have the same Unicode value twice. The first one would point to a 'left' glyph; the second to a 'right' glyph. Probably the way I'll go...
2827
- Programmatic resizing through `resize_term()`, both before and after calling `initscr()`.
29-
- User-resizing and moving of windows, if we can get the mouse to work.
28+
- User-resizing and moving of windows.
3029
- Reserve a line at the top wherein the application title and close/full-screen/minimize buttons can go. The `ripoffline()` function may be useful here.
3130

3231
Building
3332
--------
3433

35-
Run `make`, `make WIDE=Y`, or `make UTF8=Y`. Add `DLL=Y` to get a shared library (.so) on *nix builds. On Linux, add `DRM=Y` to get a DRM version; otherwise, you'll get a Linux framebuffer version. On *BSD, use `gmake`, and you get DRM no matter what (as the name implies, the Linux framebuffer is Linux-only). Run `make install` (you'll probably need to be root or use `sudo` for this) to install the shared library.
34+
Run `make`, `make WIDE=Y`, or `make UTF8=Y`. Add `DLL=Y` to get a shared library (.so) on *nix builds. On Linux, add `DRM=Y` to get a DRM version; otherwise, you'll get a Linux framebuffer version. On *BSD, use `gmake`, and you get DRM no matter what (as the name implies, the Linux framebuffer is Linux-only). Add `HAVE_MOUSE=Y` for mouse support (this uses the `evdev` library). Run `make install` (you'll probably need to be root or use `sudo` for this) to install the shared library.
35+
36+
Permissions
37+
-----------
38+
39+
Access to either the framebuffer or to DRM requires that a user be in the `video` group.
3640

3741
Caveats
3842
-------
3943

40-
See above. This all works nicely and stably, but it lacks mouse input and support for 15 and (possibly) 16-bit and 24-bit displays.
44+
See above. This all works nicely and stably, but it lacks support for 15 and (possibly) 16-bit and 24-bit displays.
4145

4246
Distribution Status
4347
-------------------

0 commit comments

Comments
 (0)