• Entering odd characters (was: Re: SetWindowsHook WH_CBT HCBT_CREATEWND CREATESTRUCT - making changes?)

    From J. P. Gilliver@G6JPG@255soft.uk to comp.os.ms-windows.programmer.win32,alt.windows7.general on Sat Nov 22 11:47:51 2025
    From Newsgroup: alt.windows7.general

    [entering odd characters]
    On 2025/11/22 6:48:10, JJ wrote:
    []

    NumLock doesn't have to be on.

    I can remember when it did. (I have it on anyway; never understood why
    it had to be there on a keyboard that has the sixpack and arrow keys
    anyway (presumably for those who have "muscle memory" from ones that
    didn't).

    I wish they'd developed the arrow keys - and the home/end/pgup/pgdown -
    into a diamond (perhaps concentrically for the two sets); I guess we're
    stuck with what we've got now, though. I have seen it as a diamond occasionally, though - I think last time was on a keyboard intended for
    those with some difficulty, that also had yellow keys with (big) black lettering.


    Alt+### generate OEM character from decimal character code. Supported by BIOS. In Windows, it will generate the wanted OEM character, but with different character code, because Windows is ANSI/Unicode native.

    Yes, it's coming back to me now; that's probably why I forgot all but
    one of the three-digit ones, because they came out as other than what I wanted.>
    Alt+0### generate ANSI character from decimal character code. Supported
    since Windows 2.0.

    Alt+NumpadPlus+xxxxx generate Unicode character from hexadecimal Unicode
    code point (1-5 hex digits). Supported since Windows 7. Numbers can be

    Ah, I never knew that! Although I've just tried (with 20AC), and didn't
    get there - I'm probably doing it wrong: do you mean you hold down Alt,
    and the + key on the numeric pad, _and_ enter the code? I always
    wondered what the point was of CharMap showing you those codes, since (I thought) you can't enter them. (Of course, if I've got CharMap open
    anyway. I can use its own function - though in e. g. Word, it tended to
    change font and sometimes add a newline unless I remembered to use Paste Special.)

    inputted from both Numpad and main key section. e.g. Alt+NumpadPlus+20ac generates the Euro symbol `re4` (U+20AC). AutoHotkey v1.0 can be used to

    Ah, for me, I can get re4 just by AltGr plus 4; however, I suspect that's
    just on UK (and probably other European) keyboards; I know on US ones,
    AltGr is just another Alt key. (AltGr also gives me |i|-|!||||\-a|U|e|i|o|U|, though I can get |\ anyway.) [I'm guessing German ones have |||+ etc..]

    implement this function in Windows XP. Note: later AutoHotkey versions (v1.1+) no longer run in Windows XP (sic).

    I at one time liked AllChars, which used a tap (and release) of Ctrl,
    followed by two keys, to initiate odd characters; I mainly liked it
    because the sequences had been well thought out - Ctrl + - for -#.
    Ctrl " o for ||, and so on. (IIRR you could define your own sequences
    too.) I've had it work in 7 and 10 too, though seems flaky.>
    And in Wordpad including MS-Word, Alt+X on one character or up to 5 hex digits Unicode code point (text selection will specify/restrict the length), will convert between the two forms. It's not a built-in support from the RichEdit UI control, unfortunately.
    Word has its own "compose" mechanism too. I've never used it.
    --
    J. P. Gilliver. UMRA: 1960/<1985 MB++G()ALIS-Ch++(p)Ar++T+H+Sh0!:`)DNAf
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From JJ@jj4public@gmail.com to comp.os.ms-windows.programmer.win32,alt.windows7.general on Sun Nov 23 08:29:33 2025
    From Newsgroup: alt.windows7.general

    On Sat, 22 Nov 2025 11:47:51 +0000, J. P. Gilliver wrote:

    Ah, I never knew that! Although I've just tried (with 20AC), and didn't
    get there - I'm probably doing it wrong: do you mean you hold down Alt,
    and the + key on the numeric pad, _and_ enter the code?

    Yes. Alt key must be held down until the last hex digit is entered. e.g.

    Alt-Down, NumpadPlus, 2, 0, a, c, Alt-Up

    Though, depending on the active application, if it use e.g. Alt+2, Alt+A,
    etc. for its own application function and "eat" the keyboard event, then the Alt+NumpadPlus+xxxxx input method may not work.

    Ah, for me, I can get re4 just by AltGr plus 4; however, I suspect that's just on UK (and probably other European) keyboards; I know on US ones,
    AltGr is just another Alt key. (AltGr also gives me |i|-|!||||\-a|U|e|i|o|U|, though I can get |\ anyway.) [I'm guessing German ones have |||+ etc..]

    That's one of the good thing about keyboards with AltGr key. But OSes
    including applications use the AltGr key as application/UI function
    shortcuts, instead of respecting that it's a character key modifier. That
    being said, I don't like the dead key concept on keyboards with AltGr key, since it slows down typing common symbol characters.

    I at one time liked AllChars, which used a tap (and release) of Ctrl, followed by two keys, to initiate odd characters; I mainly liked it
    because the sequences had been well thought out - Ctrl + - for -#.
    Ctrl " o for ||, and so on. (IIRR you could define your own sequences
    too.) I've had it work in 7 and 10 too, though seems flaky.>

    I'll be checking that AllChars source code, thanks. I may implement some of
    the character inputting method into my AutoHotkey script.

    Word has its own "compose" mechanism too. I've never used it.

    Is it accessed via keyboard shortcut? I have MS-Office 2007, but its
    built-in help only mention the Alt+X shortcut. Maybe that version doesn't
    have it yet.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From J. P. Gilliver@G6JPG@255soft.uk to comp.os.ms-windows.programmer.win32,alt.windows7.general on Sun Nov 23 02:54:02 2025
    From Newsgroup: alt.windows7.general

    On 2025/11/23 1:29:33, JJ wrote:
    On Sat, 22 Nov 2025 11:47:51 +0000, J. P. Gilliver wrote:

    Ah, I never knew that! Although I've just tried (with 20AC), and didn't
    get there - I'm probably doing it wrong: do you mean you hold down Alt,
    and the + key on the numeric pad, _and_ enter the code?

    Yes. Alt key must be held down until the last hex digit is entered. e.g.

    Alt-Down, NumpadPlus, 2, 0, a, c, Alt-Up
    Ah, I thought you meant _both_ Alt _and_ Numpadplus had to be held down
    while the other four were entered.>
    Though, depending on the active application, if it use e.g. Alt+2, Alt+A, etc. for its own application function and "eat" the keyboard event, then the Alt+NumpadPlus+xxxxx input method may not work.
    Well, I've just tried it with Alt (down), NPP, 2, 0, a, c, (Altup), and
    it didn't work.
    []
    I at one time liked AllChars, which used a tap (and release) of Ctrl,
    followed by two keys, to initiate odd characters; I mainly liked it
    because the sequences had been well thought out - Ctrl + - for -#.>> Ctrl " o for ||, and so on. (IIRR you could define your own sequences
    too.) I've had it work in 7 and 10 too, though seems flaky.>

    I'll be checking that AllChars source code, thanks. I may implement some of the character inputting method into my AutoHotkey script.
    http://allchars.zwolnet.com/ gives a strange sort of 404, in that it
    obviously still does _some_thing. (After some tens of seconds.) https://sourceforge.net/projects/allchars/ does seem to be valid.

    Word has its own "compose" mechanism too. I've never used it.

    Is it accessed via keyboard shortcut? I have MS-Office 2007, but its
    built-in help only mention the Alt+X shortcut. Maybe that version doesn't have it yet.
    Ah, I have 2003. There - I've just looked - Insert | Symbol seems to be
    the way in, but I don't know if it's different in 2007+. Given that
    later versions sometimes retain earlier key sequences, try Alt-I S.
    (Note - if it works - that it has two tabs.)
    --
    J. P. Gilliver. UMRA: 1960/<1985 MB++G()ALIS-Ch++(p)Ar++T+H+Sh0!:`)DNAf
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From JJ@jj4public@gmail.com to comp.os.ms-windows.programmer.win32,alt.windows7.general on Mon Nov 24 15:46:49 2025
    From Newsgroup: alt.windows7.general

    On Sun, 23 Nov 2025 02:54:02 +0000, J. P. Gilliver wrote:

    Well, I've just tried it with Alt (down), NPP, 2, 0, a, c, (Altup), and
    it didn't work.

    Ahh, sorry! I forgot that it must be enabled first! And it's supported since Windows 2000 (not since Windows 7). A REG_SZ registry value named `EnableHexNumpad` must be added/set to `1` in below registry key.

    HKEY_CURRENT_USER\Control Panel\Input Method

    Because it's a per-user setting, it should be effective after user relogin. System reboot shouldn't be required.

    Ah, I have 2003. There - I've just looked - Insert | Symbol seems to be
    the way in, but I don't know if it's different in 2007+. Given that
    later versions sometimes retain earlier key sequences, try Alt-I S.
    (Note - if it works - that it has two tabs.)

    Oh that Insert Symbol function. That exist too in 2007. Quite full featured function indeed. Pity that, we can't update the Unicode table.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From J. P. Gilliver@G6JPG@255soft.uk to comp.os.ms-windows.programmer.win32,alt.windows7.general on Mon Nov 24 09:31:22 2025
    From Newsgroup: alt.windows7.general

    On 2025/11/24 8:46:49, JJ wrote:
    On Sun, 23 Nov 2025 02:54:02 +0000, J. P. Gilliver wrote:

    Well, I've just tried it with Alt (down), NPP, 2, 0, a, c, (Altup), and
    it didn't work.

    Ahh, sorry! I forgot that it must be enabled first! And it's supported since Windows 2000 (not since Windows 7). A REG_SZ registry value named `EnableHexNumpad` must be added/set to `1` in below registry key.

    HKEY_CURRENT_USER\Control Panel\Input Method

    (I wonder why!)

    _Very_ odd: I opened regedit, and navigated there; there were already
    two REG_SZ there, the usual (Default) (value not set), and "Show Status"
    "1". But: either right-clicking (which only generated "New"), or Edit |
    New, produced a menu with only: key; String Value, Binary Value, DWORD,
    QWORD, Multi-String, and Expandable String - no REG_SZ! (I tried all
    seven options, but none of them generated a new REG_SZ.) I even tried
    opening regedit as Administrator.

    So I exported the key as a .reg file to the desktop, edited it copying
    how the existing REG_SZ appeared, and double-clicked it (and accepted
    the warning) - and the new value has indeed appeared.

    But _very_ odd that the ability to create a new REG_SZ from within
    regedit isn't there!>
    Because it's a per-user setting, it should be effective after user relogin. System reboot shouldn't be required.

    Ah, I have 2003. There - I've just looked - Insert | Symbol seems to be
    the way in, but I don't know if it's different in 2007+. Given that
    later versions sometimes retain earlier key sequences, try Alt-I S.
    (Note - if it works - that it has two tabs.)

    Oh that Insert Symbol function. That exist too in 2007. Quite full featured function indeed. Pity that, we can't update the Unicode table.
    I _think_ that's the only (extra) way in Word. I've never used it as
    it's just another way to learn, on top of charmap, AllChars, and so on,
    but I guess if you use Word a lot and need those characters. I see you
    could redefine the characters needed, a bit like AllChars (though I
    don't think you can add new characters).
    --
    J. P. Gilliver. UMRA: 1960/<1985 MB++G()ALIS-Ch++(p)Ar++T+H+Sh0!:`)DNAf

    Just because you're old it doesn't mean you go beige. Quite the reverse.
    - Laurence Llewelyn-Bowen, RT 2015/7/11-17
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From JJ@jj4public@gmail.com to comp.os.ms-windows.programmer.win32,alt.windows7.general on Tue Nov 25 11:09:13 2025
    From Newsgroup: alt.windows7.general

    On Mon, 24 Nov 2025 09:31:22 +0000, J. P. Gilliver wrote:

    _Very_ odd: I opened regedit, and navigated there; there were already
    two REG_SZ there, the usual (Default) (value not set), and "Show Status"
    "1". But: either right-clicking (which only generated "New"), or Edit |
    New, produced a menu with only: key; String Value, Binary Value, DWORD, QWORD, Multi-String, and Expandable String - no REG_SZ! (I tried all
    seven options, but none of them generated a new REG_SZ.) I even tried
    opening regedit as Administrator.

    So I exported the key as a .reg file to the desktop, edited it copying
    how the existing REG_SZ appeared, and double-clicked it (and accepted
    the warning) - and the new value has indeed appeared.

    But _very_ odd that the ability to create a new REG_SZ from within
    regedit isn't there!

    That is indeed, odd. I never encountered such RegEdit weirdness.

    I can't think of anything other than interference by outside application.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Kerr-Mudd, John@admin@127.0.0.1 to comp.os.ms-windows.programmer.win32,alt.windows7.general on Tue Nov 25 10:57:32 2025
    From Newsgroup: alt.windows7.general

    On Tue, 25 Nov 2025 11:09:13 +0700
    JJ <jj4public@gmail.com> wrote:

    On Mon, 24 Nov 2025 09:31:22 +0000, J. P. Gilliver wrote:

    _Very_ odd: I opened regedit, and navigated there; there were already
    two REG_SZ there, the usual (Default) (value not set), and "Show Status" "1". But: either right-clicking (which only generated "New"), or Edit | New, produced a menu with only: key; String Value, Binary Value, DWORD, QWORD, Multi-String, and Expandable String - no REG_SZ! (I tried all
    seven options, but none of them generated a new REG_SZ.) I even tried opening regedit as Administrator.

    So I exported the key as a .reg file to the desktop, edited it copying
    how the existing REG_SZ appeared, and double-clicked it (and accepted
    the warning) - and the new value has indeed appeared.

    But _very_ odd that the ability to create a new REG_SZ from within
    regedit isn't there!

    That is indeed, odd. I never encountered such RegEdit weirdness.

    I can't think of anything other than interference by outside application.

    I just added a 'String Value' - it shows up as REG_SZ
    This is using regeditx (an enhanced regedit) in Win XP, but it would seem unlikely they'd have changed it later.
    --
    Bah, and indeed Humbug.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From J. P. Gilliver@G6JPG@255soft.uk to comp.os.ms-windows.programmer.win32,alt.windows7.general on Tue Nov 25 13:14:13 2025
    From Newsgroup: alt.windows7.general

    On 2025/11/25 10:57:32, Kerr-Mudd, John wrote:
    On Tue, 25 Nov 2025 11:09:13 +0700
    JJ <jj4public@gmail.com> wrote:

    On Mon, 24 Nov 2025 09:31:22 +0000, J. P. Gilliver wrote:

    _Very_ odd: I opened regedit, and navigated there; there were already>>> two REG_SZ there, the usual (Default) (value not set), and "Show Status"
    "1". But: either right-clicking (which only generated "New"), or Edit |
    New, produced a menu with only: key; String Value, Binary Value, DWORD,
    QWORD, Multi-String, and Expandable String - no REG_SZ! (I tried all
    seven options, but none of them generated a new REG_SZ.) I even tried>>> opening regedit as Administrator.

    So I exported the key as a .reg file to the desktop, edited it copying
    how the existing REG_SZ appeared, and double-clicked it (and accepted>>> the warning) - and the new value has indeed appeared.

    But _very_ odd that the ability to create a new REG_SZ from within
    regedit isn't there!

    That is indeed, odd. I never encountered such RegEdit weirdness.

    I can't think of anything other than interference by outside application.

    I just added a 'String Value' - it shows up as REG_SZ
    This is using regeditx (an enhanced regedit) in Win XP, but it would seem unlikely they'd have changed it later.

    So it does! Not sure why it didn't before - or, maybe I didn't try it
    (since we were going to set a numeric value). I _thought_ I tried all
    seven options, though.
    --
    J. P. Gilliver. UMRA: 1960/<1985 MB++G()ALIS-Ch++(p)Ar++T+H+Sh0!:`)DNAf
    --- Synchronet 3.21a-Linux NewsLink 1.2