Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: e37c31fba7824cd99b21b4f774ce6b878f777f5d
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e37c31fba7824cd99b…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2021-10-05 (Tue, 05 Oct 2021)
Changed paths:
M building/win32x86/common/Makefile
M building/win32x86/common/Makefile.msvc
M building/win32x86/common/Makefile.msvc.clang.rules
M building/win32x86/common/Makefile.msvc.plugin
M building/win32x86/common/Makefile.plugin
M building/win32x86/common/Makefile.rules
M building/win64x64/common/Makefile
M building/win64x64/common/Makefile.msvc
M building/win64x64/common/Makefile.msvc.clang.rules
M building/win64x64/common/Makefile.msvc.plugin
M building/win64x64/common/Makefile.msvc.rules
M building/win64x64/common/Makefile.plugin
M building/win64x64/common/Makefile.rules
Log Message:
-----------
Several fixes to Windows makefiles.
Get the paths right in dep files and don't inlcude phony targets for headers.
Don't build an implib for an external plugin.
Make the print-foo targets et al PHONY
Introduce an always PHONY target to ensure internal and external plugins are
always visited by a submake.
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 3442124d3c3f1f707129846ea686f720e685695a
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3442124d3c3f1f7071…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2021-10-05 (Tue, 05 Oct 2021)
Changed paths:
M building/win32x86/common/Makefile.msvc.clang.rules
M building/win32x86/common/Makefile.rules
M building/win64x64/common/Makefile.msvc.clang.rules
M building/win64x64/common/Makefile.msvc.rules
M building/win64x64/common/Makefile.rules
Log Message:
-----------
Make sure dependency generation on Windows produces dep files relative to
$(BUILD) directory.
Since X11 does not provide a localized version of virtual keys, I mapped the X11 event's `KeySym` to such a "virtual-key code", using `evt.keycode` only as a fall back. It's not perfect but close to what Windows and macOS have.
Here is the mapping schema:
```
* 0x00 (unknown virtual key)
* 0x01 XK_space (shifted from Latin-1)
* 0x02 XK_comma (shifted from Latin-1 OR guessed from xKeycode)
* 0x03 XK_period (shifted from Latin-1 OR guessed from xKeycode)
* 0x04 .. 0x07 (unused)
*
* 0x08 .. 0x1f SPECIAL KEYS 1 (from all-mask 0xff00)
* 0x20 .. 0x29 NUMERIC ASCII KEYS (shifted from Latin-1)
* 0x2a .. 0x43 ALPHABETIC ASCII KEYS (shifted from Latin-1)
*
* 0x44 US_MINUS (guessed from xKeycode)
* 0x45 US_PLUS (guessed from xKeycode)
* 0x46 US_LBRACKET (guessed from xKeycode)
* 0x47 US_RBRACKET (guessed from xKeycode)
* 0x48 US_COLON (guessed from xKeycode)
* 0x49 US_QUOTE (guessed from xKeycode)
* 0x4a US_TILDE (guessed from xKeycode)
* 0x4b US_BACKSLASH (guessed from xKeycode)
* 0x4c US_COMMA (guessed from xKeycode)
* 0x4d US_PERIOD (guessed from xKeycode)
* 0x4e US_SLASH (guessed from xKeycode)
* 0x4f US_102 (guessed from xKeycode)
*
* 0x50 .. 0xff SPECIAL KEYS 2 (from all-mask 0xff00)
```
Here is the new mapping table for Squeak:
[new-x11-virtual-keys.1.cs.txt](https://github.com/OpenSmalltalk/opensmallta…
See /usr/include/X11/keysymdef.h to understand the "SPECIAL KEYS" (masked 0xff00).
The biggest remaining issue is all those "OEM keys", which means the ones you push for "+" or "/" or "~" and so on.
*Note that the idea of having a localized version of the virtual key is that you can print it in an application's user interface. Would be really annoying if an app insists on, e.g., Z while you actionally pushed Y.*
You can view, comment on, or merge this pull request online at:
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/599
-- Commit Summary --
* <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/599/commits/4c64947b…">For keyDown and keyUp events, pass keycodes into the image. Not quite the virtual keys on other platforms because no information about locale.</a>
* <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/599/commits/147f7d63…">Prepare skeleton for xkey2sqVirtualKeyCode(). Fix several several naming issues: keyCode -> ascii, codes -> keyNameEntries, nameForKeycode -> nameForKeysym</a>
* <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/599/commits/ff3c4265…">Compute a virtual-key code using X11's KeySym and -- as a fall-back -- that event's not-localized KeyCode.</a>
-- File Changes --
M platforms/unix/vm-display-X11/sqUnixX11.c (181)
-- Patch Links --
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/599.patchhttps://github.com/OpenSmalltalk/opensmalltalk-vm/pull/599.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/599
> On Sep 30, 2021, at 11:21 PM, Marcel Taeumel ***(a)***.***> wrote:
>
>
> N.B. As of cygwin 1.5.25 fopen("crash.dmp","a") DOES NOT WORK! crash.dmp
> contains garbled output as if the file pointer gets set to the start of the
> file, not the end. So we synthesize our own append mode.
>
> Hi Eliot. Please update your Cygwin ASAP! It's hardly believeable that the append-mode in fopen is broken in a fairly recent Cygwin installation.
>
> $ cygcheck -c cygwin
> Cygwin Package Information
> Package Version Status
> cygwin 3.2.0-1 OK
> $ cygcheck -f /usr/include/stdio.h
> cygwin-devel-3.2.0-1
> This works like a charm and as expected:
>
> /* File name is hello_world.c */
> #include <stdio.h>
>
> int main(void)
> {
> FILE *pFile;
> pFile = fopen("crash.dmp","a+t");
> fprintf(pFile, "%s", "Hello!");
> fclose(pFile);
> }
> PLEASE! Update your Cygwin installation. :-)
>
I don’t use Cygwin; or rather, I don’t use Cygwin to build. I use gmake, MSVC & clang. Thanks an old comment. I’m not in a position to, nor am I interested in spending the time to, verify if it is still current.
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub, or unsubscribe.
> Triage notifications on the go with GitHub Mobile for iOS or Android.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/65d9d814015f68f472…