SUpport imac g5 isight ?
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Andreas_Wolf
    Posts: 12073 from 2003/5/22
    From: Germany
    > My iBook G4 only has 512MB of RAM […].
    > Obviously things like web browsing is slow

    I also guess that after starting Wayfarer, the amount of RAM that's available for actual browsing would be a problem with modern websites.
  • »18.05.23 - 16:42
    Profile
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Zylesea
    Posts: 2053 from 2003/6/4
    At least Wayfarer is better on memory than Odyssey. Just tested on my Mac Mini with 1 GB: 10 tabs open, the active one replaying youtube and the _available_ RAM stays between 550 and 600 MB. Hence also with just 512 MiB you can do quite some things, but you have to watch your RAM. In my experience 1 GiB with MorphOS is okay for really most of the times and with 1.5 GiB it's rather hard to run into a low mem situation.
    --
    http://via.bckrs.de

    Whenever you're sad just remember the world is 4.543 billion years old and you somehow managed to exist at the same time as David Bowie.
    ...and Matthias , my friend - RIP
  • »18.05.23 - 20:27
    Profile Visit Website
  • Paladin of the Pegasos
    Paladin of the Pegasos
    NewSense
    Posts: 1475 from 2012/11/10
    From: Manchester, UK/GB
    I've come across the situation that the iMac Brightness adjustment keys (F1 and F2) conflicts with the PageStream Toolbox keyboard shortcut selection keys (F1 - Object Tool, F2 - Text tool - bear in mind that there are other F? Keys that are assigned for use with the Toolbox function buttons with PageStream), and as a result it is necessary to deactivate the iMac Brightness key setting (remove checkmark) while using PageStream.

    Is there a way to allow either a modifier key (Control, Alt/Option, or Command keys) to ensure that the iMac Brightness key(s) do not conflict with the PageStream Toolbox shortcut keys in the first place? :-?

    Or, allow a user to set/choose the iMac Brightness keyboard shortcut key(s) to suit their own setup? :-?
    MacMini 1.5GHz,64MB VRAM, PowerBooks A1138/9 (Model 5,8/9),PowerMac G5 2.3GHz(DP), iMac A1145 2.1GHz 20", all with MorphOS v3.18+,Airport,Bluetooth,A1016 Keyboard,T-RB22 Mouse,DVD-RW-DL,MiniMax,Firewire/USB2 & MacOSX 10.4/5
  • »18.05.23 - 22:02
    Profile
  • MorphOS Developer
    jacadcaps
    Posts: 2971 from 2003/3/5
    From: Canada
    I agree: PageStream needs to have settings for the toolbar hotkeys!
  • »19.05.23 - 13:12
    Profile Visit Website
  • MorphOS Developer
    cyfm
    Posts: 537 from 2003/4/11
    From: Germany
    Actually, on Mac keyboards, extra functions like brightness and legacy function keys F1-15 are sharing the same key.
    There is an additional Fn qualifier key on most newer mac keyboards to toggle the feature, the iMac originally came with one as well. Laptop.mprefs has a checkbox to toggle the feature for both PowerBooks and iMac, so you either have legacy function keys directly or additional h/w control.
  • »19.05.23 - 21:37
    Profile Visit Website
  • Paladin of the Pegasos
    Paladin of the Pegasos
    NewSense
    Posts: 1475 from 2012/11/10
    From: Manchester, UK/GB
    Quote:

    jacadcaps wrote: I agree: PageStream needs to have settings for the toolbar hotkeys!

    That's nice that you agree, but it doesn't offer a solution to the conflict, as the Function keys functionality is tied to the program itself, with no usual user means of changing their assignment.

    cyfm is well aware of this aspect as he spent a lot of time re-working PageStream so that it works as well as it does now, but the Function keys operability were not changed from the way they worked from how they were coded in v4, which was way back to the year 2000 when PageStream v4 was authored. They were never intended to be altered by the user when the program was in use, as there is no setting to allow these Function keys assignment to be modified.

    I am just asking if you are willing, and consider it possible, to find a better solution to this conflict? ;-)

    Quote:

    cyfm wrote: Actually, on Mac keyboards, extra functions like brightness and legacy function keys F1-15 are sharing the same key.

    I'm fully aware of there being a 'Function' (Fn) key on the PowerBook's keyboard that offers dual functionality for the 'Function' keys.
    Quote:

    cyfm wrote: There is an additional Fn qualifier key on most newer mac keyboards to toggle the feature, the iMac originally came with one as well.

    However, AFAIK, that was not the case on the A1048 wired keyboard that was originally supplied with the A1145 iMac, as there is no 'Function' (Fn) key on that keyboard or the A1016 (bluetooth-wireless) keyboard which I use predominantly with my A1145 iMac. Though both the A1048 and the A1016 both have Control, Alt/Option, and Command keys - which is why I suggested them as being possible for consideration to bypass this keyboard conflict-clash, unless you can offer a solution for PageStream with some revised PageStream5.rsc file modification, as there is no documentation that will allow this to be done without some knowledge of the inner workings of that PageStream file, or another file that handles that capability. 8-D
    Quote:

    cyfm wrote: Laptop.mprefs has a checkbox to toggle the feature for both PowerBooks and iMac, so you either have legacy function keys directly or additional h/w control.

    I realise I can remove the checkmark from the checkbox in the iMac Settings so that it does not 'clash-conflict' with the PageStream Toolbox Function keys assigned usage, but I was hoping to not have to keep deactivating the usefulness of the Brightness Setting for the iMac each time I want to use PageStream, or have to re-enable it each time I a want to use the brightness setting, and vice-versa for the Toolbox functions I utilise when using PageStream.

    The brightness keyboard setting seems like an excellent addition to MorphOS for the iMac, but it clashes-conflicts with the hardcoded Function key functionality of PageStream's Toolbox Function keys assignment, for the main 2 Toolbox Function keys as it is, and I feel sure there is a way to modify/implement a better keyboard assignment for MorphOS that then does not clash-conflict with PageStream, at least I hope so. 8-)
    MacMini 1.5GHz,64MB VRAM, PowerBooks A1138/9 (Model 5,8/9),PowerMac G5 2.3GHz(DP), iMac A1145 2.1GHz 20", all with MorphOS v3.18+,Airport,Bluetooth,A1016 Keyboard,T-RB22 Mouse,DVD-RW-DL,MiniMax,Firewire/USB2 & MacOSX 10.4/5
  • »20.05.23 - 02:42
    Profile
  • Acolyte of the Butterfly
    Acolyte of the Butterfly
    Georg
    Posts: 106 from 2004/4/7
    Quote:

    NewSense wrote:
    I am just asking if you are willing, and consider it possible, to find a better solution to this conflict? ;-)



    Maybe hack together your own solution?

    Code:

    #include <libraries/commodities.h>
    #include <string.h>
    #include <stdio.h>

    #include <proto/exec.h>

    typedef CxObj * (*CREATECXOBJ_FUNC)(register ULONG type asm("d0"),
    register ULONG arg1 asm("a0"),
    register ULONG arg2 asm("a1"),
    register struct Library *lib asm("a6"));


    CREATECXOBJ_FUNC old_createcxobj;


    #define LVO_CreateCxObj (-6 * 5)

    CxObj * New_CreateCxObj(register ULONG type asm("d0"),
    register ULONG arg1 asm("a0"),
    register ULONG arg2 asm("a1"),
    register struct Library *lib asm("a6"))
    {
    if (type == CX_FILTER)
    {
    if (!strcasecmp((STRPTR)arg1, "f1")) arg1 = (ULONG)"alt f1";
    else if (!strcasecmp((STRPTR)arg1, "f2")) arg1 = (ULONG)"alt f2";
    else if (!strcasecmp((STRPTR)arg1, "f3")) arg1 = (ULONG)"alt f3";
    /* ... */

    }
    return old_createcxobj(type, arg1, arg2, lib);
    }


    int main(void)
    {
    struct Library * lib = OpenLibrary("commodities.library", 0);

    if (lib)
    {
    Forbid();
    old_createcxobj = (CREATECXOBJ_FUNC)SetFunction(lib, LVO_CreateCxObj, (APTR)New_CreateCxObj);
    Permit();

    printf("Patch installedn");

    for(;;)
    {
    CREATECXOBJ_FUNC act_CreateCxObj;

    Wait(SIGBREAKF_CTRL_C);

    Forbid();
    act_CreateCxObj = (CREATECXOBJ_FUNC)SetFunction(lib, LVO_CreateCxObj, (APTR)old_createcxobj);
    if (act_CreateCxObj == New_CreateCxObj)
    {
    Permit();
    break;
    }

    SetFunction(lib, LVO_CreateCxObj, (APTR)act_CreateCxObj);
    Permit();

    printf("Cannot remove patch!n");
    }

    CloseLibrary(lib);
    }
    else
    {
    printf("Cannot open commodities.library!n");
    }

    }


    I don't know if this 68k code compiled into 68k binary would work on MOS (PPC library function replaced with 68k code) unmodified.
  • »20.05.23 - 14:04
    Profile
  • Paladin of the Pegasos
    Paladin of the Pegasos
    NewSense
    Posts: 1475 from 2012/11/10
    From: Manchester, UK/GB
    @ Georg - I don't think your idea is the way I'd like to see this change - to solve the problem, but thanks for suggesting it anyway. ;-)

    It seems to me that it is either a change to the way the iMac Brightness setting is currently functioning or a change to PageStream that bypasses the iMac Brightness Setting of F1/F2 keys by using alternative Function keys.

    For me, as I am so familiar with using PageStream, and that the iMac Brightness setting is so much more recent I would hope the key allocation in MorphOS could be modified to use a keyboard key modifier, like Control, Alt-Option or Command or use less likely to be used Function Keys like F11 and F12? 8-D
    MacMini 1.5GHz,64MB VRAM, PowerBooks A1138/9 (Model 5,8/9),PowerMac G5 2.3GHz(DP), iMac A1145 2.1GHz 20", all with MorphOS v3.18+,Airport,Bluetooth,A1016 Keyboard,T-RB22 Mouse,DVD-RW-DL,MiniMax,Firewire/USB2 & MacOSX 10.4/5
  • »21.05.23 - 03:31
    Profile
  • Acolyte of the Butterfly
    Acolyte of the Butterfly
    Georg
    Posts: 106 from 2004/4/7
    Quote:

    NewSense wrote:
    @ Georg - I don't think your idea is the way I'd like to see this change - to solve the problem, but thanks for suggesting it anyway. ;-)



    Well, then happy wait for months/years for next release which may or may not have the change/option you hope for ...

    Quote:

    I would hope the key allocation in MorphOS could be modified to use a keyboard key modifier, like Control, Alt-Option or Command


    ... instead of using a little hack/tool which (if it works) (and in the meantime) would do the same right now.
  • »21.05.23 - 06:53
    Profile
  • Paladin of the Pegasos
    Paladin of the Pegasos
    NewSense
    Posts: 1475 from 2012/11/10
    From: Manchester, UK/GB
    Having spoken to cyfm it seems the PageStream Function key mapping can be modified using the Script Palette so that a modifying "Special" key (such as Control, or several other key combination(s)) can be added so they do not clash-conflict with the iMac F1/F2 key(s) to set the Brightness level. 8-)

    Hopefully this is an interim solution, as I would prefer to have the original PageStream single 'F' key as usual, rather than a 2 key pressed option, but it does at least free the clash-conflict for the time-being that occurred when I installed MorphOS v3.18. 8-D
    MacMini 1.5GHz,64MB VRAM, PowerBooks A1138/9 (Model 5,8/9),PowerMac G5 2.3GHz(DP), iMac A1145 2.1GHz 20", all with MorphOS v3.18+,Airport,Bluetooth,A1016 Keyboard,T-RB22 Mouse,DVD-RW-DL,MiniMax,Firewire/USB2 & MacOSX 10.4/5
  • »22.05.23 - 07:33
    Profile
  • MorphOS Developer
    cyfm
    Posts: 537 from 2003/4/11
    From: Germany
    Quote:

    Georg schrieb:
    Quote:

    NewSense wrote:
    @ Georg - I don't think your idea is the way I'd like to see this change - to solve the problem, but thanks for suggesting it anyway. ;-)



    Well, then happy wait for months/years for next release which may or may not have the change/option you hope for ...

    Quote:

    I would hope the key allocation in MorphOS could be modified to use a keyboard key modifier, like Control, Alt-Option or Command


    ... instead of using a little hack/tool which (if it works) (and in the meantime) would do the same right now.




    Politely ignoring the trolling/rant about a probable delay for a solution due to our update schedules, I will just confirm that this ugly 68K SetFunction() patch won't work anyway as neither the brightness control, nor PageStream5 uses CreateCXObj to install the function key mapping.
  • »22.05.23 - 11:14
    Profile Visit Website
  • Acolyte of the Butterfly
    Acolyte of the Butterfly
    Georg
    Posts: 106 from 2004/4/7
    Quote:

    cyfm wrote:

    I will just confirm that this ugly 68K SetFunction() patch won't work anyway



    Posting source with this gate/trap/whatever stuff (unless beautified by AROS macros)
    would have looked even worse ;-)

    So what about this, then (to have brightness, etc. with ALT + function keys):

    Code:

    #include <exec/interrupts.h>
    #include <devices/input.h>
    #include <devices/inputevent.h>
    #include <proto/exec.h>
    #include <proto/input.h>
    #include <clib/alib_protos.h>

    #define PRI1 121
    #define PRI2 119

    #define NAME1 "FKEYHACK1"
    #define NAME2 "FKEYHACK2"

    #define QUAL IEQUALIFIER_LALT

    #define SHIFTALTCTRL (IEQUALIFIER_LALT | IEQUALIFIER_RALT | IEQUALIFIER_LSHIFT | IEQUALIFIER_RSHIFT | IEQUALIFIER_CONTROL)
    #define IECLASS_HACK 0x7C

    struct MsgPort *mp;
    struct IOStdReq *io;
    struct Interrupt i1, i2;

    struct InputEvent *ihandler1(register struct InputEvent *ie asm("a0"))
    {
    struct InputEvent *e = ie;

    while(e)
    {
    if (e->ie_Class == IECLASS_RAWKEY)
    {
    int code = e->ie_Code &~ IECODE_UP_PREFIX;
    int quali = e->ie_Qualifier & SHIFTALTCTRL;

    if (code >= 0x50 && code <= 0x59) /* F1 .. F10 */
    {
    if (!quali)
    {
    e->ie_Class = IECLASS_HACK;
    }
    else if (quali == QUAL)
    {
    e->ie_Qualifier &= ~QUAL;
    }
    }

    }
    e = e->ie_NextEvent;
    }

    return ie;
    }

    struct InputEvent *ihandler2(register struct InputEvent *ie asm("a0"))
    {
    struct InputEvent *e = ie;

    while(e)
    {
    if (e->ie_Class == IECLASS_HACK)
    {
    e->ie_Class = IECLASS_RAWKEY;
    }
    e = e->ie_NextEvent;
    }

    return ie;
    }


    void dohandler(int cmd, struct Interrupt *i)
    {
    io->io_Command = cmd;
    io->io_Data = i;
    DoIO((struct IORequest *)io);
    }

    int main(void)
    {
    mp = CreateMsgPort();
    io = CreateIORequest(mp, sizeof(*io));

    i1.is_Code = (void *)ihandler1;
    i1.is_Node.ln_Pri = PRI1;
    i1.is_Node.ln_Name = NAME1;

    i2.is_Code = (void *)ihandler2;
    i2.is_Node.ln_Pri = PRI2;
    i2.is_Node.ln_Name = NAME2;

    if (!OpenDevice("input.device", 0, (struct IORequest *)io, 0))
    {
    struct InputEvent *ie;

    dohandler(IND_ADDHANDLER, &i1);
    dohandler(IND_ADDHANDLER, &i2);

    Wait(SIGBREAKF_CTRL_C);

    dohandler(IND_REMHANDLER, &i2);
    dohandler(IND_REMHANDLER, &i1);

    CloseDevice((struct IORequest *)io);
    }

    DeleteIORequest(io);
    DeleteMsgPort(mp);
    }
  • »22.05.23 - 17:29
    Profile
  • Moderator
    Kronos
    Posts: 2236 from 2003/2/24
    That is almost as much code as my abandoned brightness screenbar module.... (works but has no way to save/load a value).
  • »22.05.23 - 18:12
    Profile