K _0m(K a) { I t=a->t; P(4!=t && 3!=ABS(t), TE) I b=0,s=0; S v=0; K z=0; S m; if(3==ABS(t))m=CSK(a); struct stat sb; I ff=0; if(3==ABS(t) && strcmp(m,"/dev/fd/0") && strcmp(m,"/dev/stdin") ){ if(stat(m,&sb)==-1)R FE; if((sb.st_mode & S_IFMT)==S_IFIFO)ff=1;} if(ff){ //read FIFO I fn,i,j; C buf[256]; z=newK(0,0); fn= open(m, O_RDONLY); while (read(fn,&buf,256)>0) { j=256; K y=0; for(i=0;i<256;i++){ if(i>j){buf[j]='\0'; break;} if(buf[i]=='\r'||buf[i]=='\n')j=i; } I n=strlen(buf); y=newK(n<2?3:-3,n); memcpy(kC(y),&buf,n); kap(&z,&y); cd(y); } GC; } else if( 4==t && !**kS(a) ){ char ss[300]; S adr=fgets(ss,sizeof(ss),stdin); if(adr==NULL)R newK(6,1); //read stdin 0:` I i,j; for(i=0;i<300;++i){if(ss[i]=='\012')break;} I k=0; for(j=0;j<=i;j++){if(ss[j]!='\004')ss[k++]=ss[j];} z=newK(-3,k-1); for(j=0;j<k-1;++j){kC(z)[j]=ss[j];} GC; } else if( (3==ABS(t) && (!strcmp(m,"/dev/fd/0") || !strcmp(m,"/dev/stdin"))) //read stdin || 4==t && (!strcmp(*kS(a),"/dev/fd/0") || !strcmp(*kS(a),"/dev/stdin")) ){ b=getdelim_(&v,&s,EOF,stdin); P(freopen_stdin() == NULL, FE) if(b==-1){z=newK(0,0); GC;} }
Z K modified_execute(K x) //TODO: consider: this should be modified to use error trap. _4d should be modified to expect error trap output. { //K-Lite manual gives {:[4:x; .x; .[.;x]} as processing function if(4==xt || 3==ABS(xt)) R X(CSK(x)); if(!xt && xn>0) R vf_ex(offsetDot,x); R ci(x); }
/* bjartek atreus layout for norwegian keyboard * - all the mods are oneshot. see here for information about this. https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/keymap.md * - layer one has norwegian special characters at AEO positions * - needs us mac keyboard layout */ const uint16_t PROGMEM actionmaps[][MATRIX_ROWS][MATRIX_COLS] = { KEYMAP( Q , W , E , R , T , Y , U , I , O , P , \ A , S , D , F , G , H , J , K , L , SCLN , \ Z , X , C , V , B , N , M , COMM , DOT , SLSH , \ ESC , OSM(RALT), OSM(LCTL), OSM(LSFT), TAP(1,BSPC), OSM(LGUI), OSM(LALT), TAP(2,SPC), TAP(3,TAB), MINS , QUOT , ENT ), KEYMAP( AGK(F7) , GUI(F12) , RA(QUOT) , ACK(R) , AGSK(L) , SH(6) , SH(LBRC) , SH(RBRC), RA(O) , SH(1) , \ RA(A) , GUI(LBRC), CSK(ENT) , GUI(RBRC), GSK(T) , 0 , SH(9) , SH(0) , SH(BSLS) , SH(4) , \ GSK(A) , GSK(F) , CTRL(T) , ALT(V) , GUI(F9) , GRAVE , LBRC , RBRC , SH(7) , SH(GRAVE), \ GA , OSM(RALT), OSM(LCTL), OSM(LSFT), TRNS , OSM(LGUI), OSM(LALT), CTRL(F2) , OFF(1) , SH(2) , QUOT , OSM(LGUI)), KEYMAP( INS , HOME , UP , END , PGUP , SH(5) , 7 , 8 , 9 , SH(8) , \ DEL , LEFT , DOWN , RIGHT , PGDN , MINS , 4 , 5 , 6 , SH(EQUAL), \ VOLU , MPRV , MPLY , MNXT , GCK(Q) , SH(4) , 1 , 2 , 3 , BSLS , \ VOLD , MUTE , OSM(LCTL), OSM(LSFT), CSK(SPC) , OSM(LGUI), OSM(LALT), TRNS , OFF(1) , DOT , 0 , KP_EQUAL), KEYMAP( F1 , F2 , F3 , F4 , F5 , WH_D , BTN1 , MS_U , BTN2 , SH(3) , \ F6 , F7 , F8 , F9 , F10 , WH_U , MS_L , MS_D , MS_R , BTN3 , \ F11 , F12 , F13 , F14 , BOOT , NO , ACL0 , NO , NO , NO , \ GA , OSM(RALT), OSM(LCTL), OSM(LSFT), GS , OSM(LGUI), OSM(LALT), SPC , TRNS , MINS , SH(BSLS) , KP_EQUAL)
#define AC_NO_BSLS KC_EQUAL #define AC_NO_QUOTE KC_BSLS #define AC_NO_MINS KC_SLSH #define AC_NO_PIPE KC_GRAVE const uint16_t PROGMEM actionmaps[][MATRIX_ROWS][MATRIX_COLS] = { KEYMAP( /* 0: mostly letters */ Q, W, E, R, T, /*|,, |*/ Y, U, I, O, P, \ A, S, D, F, G, /*|,, |*/ H, J, K, L, COMM, \ Z, X, C, V, B, /*|,, |*/ N, M, COMM, DOT, KP_SLASH, \ ESC, TAPT(3), OSM(LGUI), OSM(LSFT), MK(LCTL,BSPC), TAPT(1), TAPT(2), MK(LALT,SPC), TACK(TAB), TACSK(SLSH), SH(2), ENT ), KEYMAP( /* layer one is mostly for programming and shell. lots of idea shortcute on left, not sure how much i will use them.*/ ACK(7), CTRL(W), NO_AE, SH(F10), ACSK(L), SH(NO_ACNT), RA(7), RA(0), NO_OE, SH(1), \ NO_AA, ACK(LEFT), CSK(ENT), ACK(RIGHT), ALT(INS), 0, SH(8), SH(9), NO_PIPE, RA(4), \ CSK(A), CSK(F), ACSK(T), ALT(V), CTRL(F9), SH(NO_BSLS), RA(8), RA(9), SH(6), RA(NO_ACNT), \ ESC, TRNS, OSM(LGUI), OSM(LSFT), TRNS, TRNS, TRNS, SPC, OFF(1),RA(2), NO_QUOTE,KP_EQUAL ), KEYMAP( /* hold space brings up move pad and numpad */ INS, HOME, UP , END , PGUP, SH(5), 7 , 8 , 9, SH(NO_QUOTE), \ DEL, LEFT, DOWN, RIGHT, PGDN, NO_MINS, 4 , 5 , 6, NO_PLUS, \ GUI(1), GUI(2), GUI(3), GUI(4), GUI(5), RA(4), 1 , 2 , 3, NO_BSLS, \ ACK(DEL), TRNS, OSM(LGUI), OSM(LSFT), GUI(D) , TRNS, TRNS, MK(LALT,SPC), OFF(1), DOT, 0, KP_EQUAL ), KEYMAP( /* hold tab to have fpad and mouse */ F1, F2, F3, F4, F5, WH_D , BTN1 , MS_U , BTN2 , SH(3) , \ F6, F7, F8, F9, F10, WH_U , MS_L , MS_D , MS_R , BTN3 , \ F11, F12, F13, F14, BOOT, NO , ACL0 , NO_LT, SH(NO_LT) , BTN4 , \ BOOT, TRNS, OSM(LGUI), OSM(LSFT), MK(LCTL,BSPC), TRNS, TRNS, MK(LALT,SPC), TACK(TAB),TACSK(MINS) , SH(NO_BSLS), KP_EQUAL ),