'user32 SetFocus i i' (15!:0) 0 NB. Do NOT do this!! I warned you!! I can't stand it! Tell me what will happen or I'm going to do it!
Henry Rich > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Devon > McCormick > Sent: Tuesday, October 17, 2006 11:48 PM > To: Programming forum > Subject: Re: [Jprogramming] defining FKeys and keyboard control > > Try looking in ~system/extras/util at cfgfns.ijs and configure.ijs. > > You could also try something like > 'user32 SetCursorPos i i i' (15!:0) 500;500 > to move the cursor to position (500,500) on your screen; > would take some > work to translate this into session window co-ordinates. > > However, do NOT, I repeat, do NOT do this: > 'user32 SetFocus i i' (15!:0) 0 NB. Do NOT do this!! I > warned you!! > > On 10/17/06, James Korn <[EMAIL PROTECTED]> wrote: > > > > Hi Devon, > > > > Thanks for your reply. > > > > I'm thinking if I can just find where Ctrl+Shift+Up Arrow > is defined I > > might be able to include a windows Home command. > > > > In attempting to do a search for Ctrl+ Shift+Up I got a wdhandler > > error. I don't know if these are all that common, so here it is: > > > > error in: jfiw_findtop_button > > indexerror: tolower > > txt=. tolower FIWTEXT > > > > And would you happen to know where the non-printing character > > assignments, like CRLF, are made and the ISIJ value for Home? > > > > Regards, > > Jim > > > > Devon McCormick wrote: > > > Jim - I think the short answer is that it can't be done > in the J session > > > manager. > > > > > > I looked into this - all the relevant stuff is in > > > ~system/extras/utl/jijs.ijs. > > > > > > The problem is that the J session is an edit window - > something that > > does > > > not appear > > > to have a command to move a cursor to a particular position. I've > > > extracted > > > the relevant > > > code to get as close as I can to what you want to do but > all I'm able > > > to do > > > is to select > > > the last command. The cursor is still at the end because all I'm > > > doing is > > > replacing the > > > session text with the same text with the last command on > the end; the > > > cursor > > > seems to > > > wind up at the end by default. > > > > > > I've included my sample code so you can see how it works > and try to > > > figure > > > out > > > something to accomplish what you want. Another way would > be to run the > > > jconsole > > > under, say, emacs which has a full-fledged language > (albeit emacs-lisp) > > > behind it > > > that lets you do anything. > > > > > > To use this code, define the following 2 functions in > your J window and > > > define, e.g. > > > F-5 to be > > > solc '' > > > to recall the last command. > > > > > > Good luck, > > > > > > Devon > > > +----------------- code follows ----------------+ > > > NB.* sessionCmdOut.ijs: output command to J session manager. > > > > > > NB.* solc: send out last command. > > > solc=: 3 : 0 > > > lc=. getLastCmd '' NB. Get last command > from input log. > > > smsel_jijs_ qsmout_jijs_'' NB. Select session form. > > > wd 'psel ',SMSEL_jijs_ NB. Select the parent window of > > > session. > > > dat=. wd 'qd' NB. Get info about > parent, including > > > ndx=. ({."1 dat) i. <,'e' NB. where "e" (session > data) is. > > > sess=. 1 pick ndx { dat NB. Get session data as > char vec. > > > sess=. sess, LF#~LF~:{:sess NB. Ensure it has LF at end. > > > lc=. utf8 lc NB. Ensure last command > is proper > > text. > > > wd 'set e *',sess,lc NB. Replace session > text with lc on > > > end. > > > wd 'setselect e ',": ((#sess)+0,#lc), 0 NB. Highlight inserted > > > command. > > > ) > > > > > > NB.* getLastCmd: get most recent command from input log. > > > getLastCmd=: 3 : 0 > > > log=. wd 'sminputlog' NB. Get inputs as > LF-delimited vector. > > > lastcmd=. }:log}.~>:LF i:~ log{.~log i: LF > > > NB.EG lc=. getLastCmd '' > > > ) > > > > > > > > > On 9/25/06, James Korn <[EMAIL PROTECTED]> wrote: > > >> > > >> I am trying to define function keys. > > >> > > >> Using Edit|Configure ... Add > > >> > > >> I attempted to add a function key combining the > functionality of the > > >> Ctrl+Shift+Up Arrow (Last Command) and Home (Left Most > Position) keys. > > >> > > >> Merely substituting the keys strokes didn't work, so I > thought some > > >> command definition syntax might be involved, so I cut and pasted > > >> 'Ctrl+Shift+Up Arrow' to see what I would get. I then > pressed F2. > > >> What I got was an unresponsive keyboard. > > >> > > >> Two questions: > > >> > > >> 1) how do I get the keyboard back after such a mistake? > > >> > > >> 2) how do I go defining Fkeys like the one described above? > > >> > > >> Thanks, > > >> Jim > > >> > ---------------------------------------------------------------------- > > >> For information about J forums see > http://www.jsoftware.com/forums.htm > > >> > > > > > > > > > > > > ---------------------------------------------------------------------- > > For information about J forums see > http://www.jsoftware.com/forums.htm > > > > > > -- > Devon McCormick > ^me^ at acm. > org is my > preferred e-mail > ---------------------------------------------------------------------- > For information about J forums see > http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
