{-# LINE 1 "Graphics\\Win32\\Key.hsc" #-}{-# LINE 2 "Graphics\\Win32\\Key.hsc" #-}{-# LANGUAGE Safe #-}{-# LINE 6 "Graphics\\Win32\\Key.hsc" #-}-----------------------------------------------------------------------------
-- |
-- Module : Graphics.Win32.Key
-- Copyright : (c) Alastair Reid, 1997-2003, 2013 shelarcy
-- License : BSD-style (see the file libraries/base/LICENSE)
--
-- Maintainer : Esa Ilari Vuokko <ei@vuokko.info>
-- Stability : provisional
-- Portability : portable
--
-- A collection of FFI declarations for interfacing with Win32.
--
-----------------------------------------------------------------------------
moduleGraphics.Win32.KeywhereimportControl.Monad(liftM)importGraphics.Win32.GDI.Types(HWND)importSystem.Win32.Types(DWORD,UINT,WORD,ptrToMaybe,BOOL,SHORT,failIfFalse_,failIfZero)importControl.Exception(bracket)importForeign.Ptr(Ptr,nullPtr)importForeign.C.Types(CWchar(..))importForeign.Marshal.Array(allocaArray,peekArray)importSystem.Win32.String(LPTSTR,LPCTSTR,withTString,withTStringBuffer,peekTString)importSystem.Win32.Thread(TID,getCurrentThreadId)
#include "windows_cconv.h"
typeVKey=DWORDvK_LBUTTON::VKeyvK_LBUTTON=1vK_RBUTTON::VKeyvK_RBUTTON=2vK_CANCEL::VKeyvK_CANCEL=3vK_MBUTTON::VKeyvK_MBUTTON=4vK_BACK::VKeyvK_BACK=8vK_TAB::VKeyvK_TAB=9vK_CLEAR::VKeyvK_CLEAR=12vK_RETURN::VKeyvK_RETURN=13vK_SHIFT::VKeyvK_SHIFT=16vK_CONTROL::VKeyvK_CONTROL=17vK_MENU::VKeyvK_MENU=18vK_PAUSE::VKeyvK_PAUSE=19vK_CAPITAL::VKeyvK_CAPITAL=20vK_ESCAPE::VKeyvK_ESCAPE=27vK_SPACE::VKeyvK_SPACE=32vK_PRIOR::VKeyvK_PRIOR=33vK_NEXT::VKeyvK_NEXT=34vK_END::VKeyvK_END=35vK_HOME::VKeyvK_HOME=36vK_LEFT::VKeyvK_LEFT=37vK_UP::VKeyvK_UP=38vK_RIGHT::VKeyvK_RIGHT=39vK_DOWN::VKeyvK_DOWN=40vK_SELECT::VKeyvK_SELECT=41vK_EXECUTE::VKeyvK_EXECUTE=43vK_SNAPSHOT::VKeyvK_SNAPSHOT=44vK_INSERT::VKeyvK_INSERT=45vK_DELETE::VKeyvK_DELETE=46vK_HELP::VKeyvK_HELP=47vK_NUMPAD0::VKeyvK_NUMPAD0=96vK_NUMPAD1::VKeyvK_NUMPAD1=97vK_NUMPAD2::VKeyvK_NUMPAD2=98vK_NUMPAD3::VKeyvK_NUMPAD3=99vK_NUMPAD4::VKeyvK_NUMPAD4=100vK_NUMPAD5::VKeyvK_NUMPAD5=101vK_NUMPAD6::VKeyvK_NUMPAD6=102vK_NUMPAD7::VKeyvK_NUMPAD7=103vK_NUMPAD8::VKeyvK_NUMPAD8=104vK_NUMPAD9::VKeyvK_NUMPAD9=105vK_MULTIPLY::VKeyvK_MULTIPLY=106vK_ADD::VKeyvK_ADD=107vK_SEPARATOR::VKeyvK_SEPARATOR=108vK_SUBTRACT::VKeyvK_SUBTRACT=109vK_DECIMAL::VKeyvK_DECIMAL=110vK_DIVIDE::VKeyvK_DIVIDE=111vK_F1::VKeyvK_F1=112vK_F2::VKeyvK_F2=113vK_F3::VKeyvK_F3=114vK_F4::VKeyvK_F4=115vK_F5::VKeyvK_F5=116vK_F6::VKeyvK_F6=117vK_F7::VKeyvK_F7=118vK_F8::VKeyvK_F8=119vK_F9::VKeyvK_F9=120vK_F10::VKeyvK_F10=121vK_F11::VKeyvK_F11=122vK_F12::VKeyvK_F12=123vK_F13::VKeyvK_F13=124vK_F14::VKeyvK_F14=125vK_F15::VKeyvK_F15=126vK_F16::VKeyvK_F16=127vK_F17::VKeyvK_F17=128vK_F18::VKeyvK_F18=129vK_F19::VKeyvK_F19=130vK_F20::VKeyvK_F20=131vK_F21::VKeyvK_F21=132vK_F22::VKeyvK_F22=133vK_F23::VKeyvK_F23=134vK_F24::VKeyvK_F24=135vK_NUMLOCK::VKeyvK_NUMLOCK=144vK_SCROLL::VKeyvK_SCROLL=145vK_XBUTTON1::VKeyvK_XBUTTON1=5vK_XBUTTON2::VKeyvK_XBUTTON2=6vK_KANA::VKeyvK_KANA=21vK_HANGUL::VKeyvK_HANGUL=21vK_JUNJA::VKeyvK_JUNJA=23vK_FINAL::VKeyvK_FINAL=24vK_HANJA::VKeyvK_HANJA=25vK_KANJI::VKeyvK_KANJI=25vK_CONVERT::VKeyvK_CONVERT=28vK_NONCONVERT::VKeyvK_NONCONVERT=29vK_ACCEPT::VKeyvK_ACCEPT=30vK_MODECHANGE::VKeyvK_MODECHANGE=31vK_PRINT::VKeyvK_PRINT=42vK_APPS::VKeyvK_APPS=93vK_SLEEP::VKeyvK_SLEEP=95vK_LWIN::VKeyvK_LWIN=91vK_RWIN::VKeyvK_RWIN=92vK_LSHIFT::VKeyvK_LSHIFT=160vK_RSHIFT::VKeyvK_RSHIFT=161vK_LCONTROL::VKeyvK_LCONTROL=162vK_RCONTROL::VKeyvK_RCONTROL=163vK_LMENU::VKeyvK_LMENU=164vK_RMENU::VKeyvK_RMENU=165vK_BROWSER_BACK::VKeyvK_BROWSER_BACK=166vK_BROWSER_FORWARD::VKeyvK_BROWSER_FORWARD=167vK_BROWSER_REFRESH::VKeyvK_BROWSER_REFRESH=168vK_BROWSER_STOP::VKeyvK_BROWSER_STOP=169vK_BROWSER_SEARCH::VKeyvK_BROWSER_SEARCH=170vK_BROWSER_FAVORITES::VKeyvK_BROWSER_FAVORITES=171vK_BROWSER_HOME::VKeyvK_BROWSER_HOME=172vK_VOLUME_MUTE::VKeyvK_VOLUME_MUTE=173vK_VOLUME_DOWN::VKeyvK_VOLUME_DOWN=174vK_VOLUME_UP::VKeyvK_VOLUME_UP=175vK_MEDIA_NEXT_TRACK::VKeyvK_MEDIA_NEXT_TRACK=176vK_MEDIA_PREV_TRACK::VKeyvK_MEDIA_PREV_TRACK=177vK_MEDIA_STOP::VKeyvK_MEDIA_STOP=178vK_MEDIA_PLAY_PAUSE::VKeyvK_MEDIA_PLAY_PAUSE=179vK_LAUNCH_MAIL::VKeyvK_LAUNCH_MAIL=180vK_LAUNCH_MEDIA_SELECT::VKeyvK_LAUNCH_MEDIA_SELECT=181vK_LAUNCH_APP1::VKeyvK_LAUNCH_APP1=182vK_LAUNCH_APP2::VKeyvK_LAUNCH_APP2=183vK_OEM_1::VKeyvK_OEM_1=186vK_OEM_PLUS::VKeyvK_OEM_PLUS=187vK_OEM_COMMA::VKeyvK_OEM_COMMA=188vK_OEM_MINUS::VKeyvK_OEM_MINUS=189vK_OEM_PERIOD::VKeyvK_OEM_PERIOD=190vK_OEM_2::VKeyvK_OEM_2=191vK_OEM_3::VKeyvK_OEM_3=192vK_OEM_4::VKeyvK_OEM_4=219vK_OEM_5::VKeyvK_OEM_5=220vK_OEM_6::VKeyvK_OEM_6=221vK_OEM_7::VKeyvK_OEM_7=222vK_OEM_8::VKeyvK_OEM_8=223vK_OEM_102::VKeyvK_OEM_102=226vK_PROCESSKEY::VKeyvK_PROCESSKEY=229vK_PACKET::VKeyvK_PACKET=231vK_ATTN::VKeyvK_ATTN=246vK_CRSEL::VKeyvK_CRSEL=247vK_EXSEL::VKeyvK_EXSEL=248vK_EREOF::VKeyvK_EREOF=249vK_PLAY::VKeyvK_PLAY=250vK_ZOOM::VKeyvK_ZOOM=251vK_NONAME::VKeyvK_NONAME=252vK_PA1::VKeyvK_PA1=253vK_OEM_CLEAR::VKeyvK_OEM_CLEAR=254{-# LINE 179 "Graphics\\Win32\\Key.hsc" #-}foreignimportWINDOWS_CCONVunsafe"windows.h VkKeyScanExW"c_VkKeyScanEx::CWchar->HKL->IOSHORTforeignimportWINDOWS_CCONVunsafe"windows.h MapVirtualKeyW"c_MapVirtualKey::VKey->UINT->IOUINTforeignimportWINDOWS_CCONVunsafe"windows.h MapVirtualKeyExW"c_MapVirtualKeyEx::VKey->UINT->HKL->IOUINTforeignimportWINDOWS_CCONVunsafe"windows.h EnableWindow"enableWindow::HWND->Bool->IOBoolgetActiveWindow::IO(MaybeHWND)getActiveWindow=liftMptrToMaybec_GetActiveWindowforeignimportWINDOWS_CCONVunsafe"windows.h GetActiveWindow"c_GetActiveWindow::IOHWNDforeignimportWINDOWS_CCONVunsafe"windows.h GetAsyncKeyState"getAsyncKeyState::Int->IOWORDgetFocus::IO(MaybeHWND)getFocus=liftMptrToMaybec_GetFocusforeignimportWINDOWS_CCONVunsafe"windows.h GetFocus"c_GetFocus::IOHWNDforeignimportWINDOWS_CCONVunsafe"windows.h GetKBCodePage"getKBCodePage::IOUINTforeignimportWINDOWS_CCONVunsafe"windows.h IsWindowEnabled"isWindowEnabled::HWND->IOBoolgetCurrentKeyboardLayout::IOHKLgetCurrentKeyboardLayout=dotid<-getCurrentThreadIdc_GetKeyboardLayouttidgetKeyboardLayoutList::IO[HKL]getKeyboardLayoutList=dolen'<-failIfZero"GetKeyboardLayoutList"$c_GetKeyboardLayoutList0nullPtrletlen=fromIntegrallen'allocaArraylen$\buf->do_<-failIfZero"GetKeyboardLayoutList"$c_GetKeyboardLayoutListlenbufpeekArraylenbufgetKeyboardLayoutName::IOStringgetKeyboardLayoutName=withTStringBuffer256$\buf->dofailIfFalse_"GetKeyboardLayoutName"$c_GetKeyboardLayoutNamebufpeekTStringbufwithLoadKeyboardLayout::KeyLayoutFlags->(HKL->IOa)->IOawithLoadKeyboardLayoutflagio=withTStringBuffer256$\buf->dofailIfFalse_"GetKeyboardLayoutName"$c_GetKeyboardLayoutNamebufbracket(c_LoadKeyboardLayoutbufflag)unloadKeyboardLayoutiowithLoadKeyboardLayoutWithName::String->KeyLayoutFlags->(HKL->IOa)->IOawithLoadKeyboardLayoutWithNamestrflagio=withTStringstr$\c_str->bracket(c_LoadKeyboardLayoutc_strflag)unloadKeyboardLayoutiounloadKeyboardLayout::HKL->IO()unloadKeyboardLayout=failIfFalse_"UnloadKeyboardLayout".c_UnloadKeyboardLayoutforeignimportWINDOWS_CCONVunsafe"windows.h GetKeyboardLayout"c_GetKeyboardLayout::TID->IOHKLforeignimportWINDOWS_CCONVunsafe"windows.h GetKeyboardLayoutList"c_GetKeyboardLayoutList::Int->(PtrHKL)->IOUINTforeignimportWINDOWS_CCONVunsafe"windows.h GetKeyboardLayoutNameW"c_GetKeyboardLayoutName::LPTSTR->IOBOOLforeignimportWINDOWS_CCONVunsafe"windows.h LoadKeyboardLayoutW"c_LoadKeyboardLayout::LPCTSTR->KeyLayoutFlags->IOHKLforeignimportWINDOWS_CCONVunsafe"windows.h UnloadKeyboardLayout"c_UnloadKeyboardLayout::HKL->IOBOOLtypeHKL=Ptr()typeKeyLayoutFlags=UINTkLF_ACTIVATE::KeyLayoutFlagskLF_ACTIVATE=1kLF_NOTELLSHELL::KeyLayoutFlagskLF_NOTELLSHELL=128kLF_REORDER::KeyLayoutFlagskLF_REORDER=8kLF_REPLACELANG::KeyLayoutFlagskLF_REPLACELANG=16kLF_SUBSTITUTE_OK::KeyLayoutFlagskLF_SUBSTITUTE_OK=2kLF_SETFORPROCESS::KeyLayoutFlagskLF_SETFORPROCESS=256{-# LINE 275 "Graphics\\Win32\\Key.hsc" #-}

AltStyle によって変換されたページ (->オリジナル) /