Ignore:
Timestamp:
Oct 8, 1999, 11:52:34 AM (26 years ago)
Author:
sandervl
Message:

EB's accelerator fixes/changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/cvtaccel.cpp

    r581 r1182  
    1 /* $Id: cvtaccel.cpp,v 1.1 1999-08-19 14:19:14 sandervl Exp $ */
     1/* $Id: cvtaccel.cpp,v 1.2 1999-10-08 09:52:34 sandervl Exp $ */
    22
    33/*
    44 * PE2LX accelerator resource support code
    55 *
    6  * Copyright 1998 Sander van Leeuwen (sandervl@xs4all.nl)
     6 * Copyright 1999 Sander van Leeuwen (sandervl@xs4all.nl)
     7 * Copyright 1999 Edgar Buerkle (Edgar.Buerkle@gmx.net)
    78 *
    89 * Project Odin Software License can be found in LICENSE.TXT
     
    2526#include <winaccel.h>
    2627#include <misc.h>
     28#include "console.h"
    2729
     30//******************************************************************************
     31//******************************************************************************
     32UCHAR vkPM2Win(UCHAR key)
     33{
     34  return tabVirtualKeyCodes[key];
     35}
     36//******************************************************************************
     37//******************************************************************************
     38UCHAR vkWin2PM(UCHAR key)
     39{
     40  char i;
     41
     42  for(i=0;i<TABVIRTUALKEYCODES;i++)
     43  {
     44    if(tabVirtualKeyCodes[i] == key)
     45      return i;
     46  }
     47  return key;
     48}
    2849//******************************************************************************
    2950//******************************************************************************
     
    4768   }
    4869
    49 
     70   // TODO: more tests, upper/lowercase, unicode ...
    5071   for(i=0;i<OS2Acc->cAccel;i++) {
    51         OS2Acc->aaccel[i].key = accdata->key;
    52         OS2Acc->aaccel[i].cmd = accdata->cmd;
    53         if(accdata[i].fVirt & FVIRTKEY)
    54                 OS2Acc->aaccel[i].fs |= AF_VIRTUALKEY;
     72      OS2Acc->aaccel[i].cmd = accdata[i].cmd;
     73      if(accdata[i].fVirt & FVIRTKEY)
     74      {
     75          OS2Acc->aaccel[i].fs |= AF_VIRTUALKEY;
     76          OS2Acc->aaccel[i].key = vkWin2PM(accdata[i].key);
     77      }
     78      else
     79      {
     80          if(accdata[i].key < 0x20) // is this OK ?
     81          {
     82            OS2Acc->aaccel[i].key = accdata[i].key + 0x60;
     83            OS2Acc->aaccel[i].fs |= AF_CHAR | AF_CONTROL;
     84          }
     85          else
     86          {
     87            OS2Acc->aaccel[i].key = accdata[i].key;
     88            OS2Acc->aaccel[i].fs |= AF_CHAR;
     89          }
     90      }
    5591        if(accdata[i].fVirt & FNOINVERT)
    5692                OS2Acc->aaccel[i].fs |= AF_CHAR;
Note: See TracChangeset for help on using the changeset viewer.